Wo hört die Gewalt auf?

12

Ich versuche , einen benutzerdefinierten Launcher in 11,10 zu machen für die besondere Kraft verließ Launcher wir in 11,04 hatten (Du es aus der Liste der Anwendungen hinzufügen könnte, aber jetzt ist es nirgends zu finden, auch in alacarte ..) .. so Ich versuche, Informationen von hier aus zu verwenden , aber ich habe keine Ahnung, was die eigentliche Datei oder der eigentliche Befehl ist, um das Beenden zu erzwingen, oder wo sie sich im Dateisystem befinden.

Diese Frage ist wirklich spezifisch, um das Beenden von selbst zu erzwingen. Es geht nicht darum, wie ein Launcher erstellt werden soll.

Ich erstelle eine Datei mit dem Namen forcequit.desktop und lege sie in den Ordner ~ / .local / share / applications und ziehe sie dann in die Symbolleiste, so wie es an anderer Stelle steht.

Der Inhalt der Datei sieht folgendermaßen aus:

#!/usr/bin/env xdg-open  
[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Exec=sh -c 'notify-send "Click on an application to force-close it, or press Esc to cancel."; xkill'
Name=Force Quit
Comment=Click on the app to quit with your pointer
Icon=gnome-panel-force-quit
Categories=System,Accessories;

Ich nehme an, es könnte ein spezieller Befehl sein, der ein Argument akzeptiert. Wenn Sie die Informationen haben, sagen Sie es bitte :)

Ich schrieb Kommentare in der Datei über die Infos, die ich brauche ..

edit: ok jetzt funktioniert es mit dem Anzeigen eines speziellen X-Symbols und erzwingt das ordnungsgemäße Beenden. Jetzt muss ich nur noch herausfinden, wie Anweisungen für einen Endbenutzer angezeigt werden, genau wie bei der Verwendung von CLI Angenommen, der Kommentar des Launchers wird irgendwo auf dem Bildschirm angezeigt? irgendwelche Ideen oder Links? oder muss ich vielleicht etwas zu dieser Launcher-Datei hinzufügen?

Letzte Änderung: Nun, die Lösung aus der obigen Änderung wurde gefunden. Die Verwendung von Benachrichtigungssenden macht den Trick. Wie es jetzt im Code widergespiegelt wird. Genießen Sie die Lösung für Ihren Desktop (oder für Endbenutzer, die Sie unterstützen) !)

lastest edit: all dieses Gerede bringt mich dazu, ein bisschen mehr nach Benachrichtigungs-Sende-Optionen zu suchen ... und in größerem Maßstab auch nach allen anderen Befehlen, die ich verwenden kann ... Benachrichtigungs-Sende ist ein Teil von Gnome, oder? ? oder ist es ein Teil von sh? (Ich bezweifle, dass es von sh ist)

edit to the lastest edit: vergiss das .. ich habe auch darauf eine antwort gefunden .. notify-send ist teil des libnotify library pakets .. und notify-send ist im tools ordner (ich hatte anfangs probleme es zu finden. .) und nein, es ist nicht spezifisch Teil von gnome, sondern eine andere Bibliothek, die von vielen Apps benutzt wird :)

Marc-Andre Benoit
quelle

Antworten:

10

Der Befehl, wie WarriorIng64 bereits gesagt, ist xkill.

Verwenden Sie zum Anzeigen einiger Anweisungen für den Endbenutzer möglicherweise

notify-send "Click on an application to force-close it, or right-click to cancel."

Um nun zwei Befehle in einem Launcher zu kombinieren, müssen Sie sie sh -c '...'einschließen, sodass in Ihrer .desktop-Datei angezeigt wird

Exec=sh -c 'notify-send "Click on an application to force-close it, or right-click to cancel."; xkill'
Marius Gedminas
quelle
Es ist eine Stimme wert, mich um 15 Minuten geschlagen zu haben!
Scaine
diese benachrichtigung send macht den letzten trick :)
marc-andre benoit
1
@Marius Das ist meiner akzeptierten Antwort klar überlegen. Gute Arbeit, die es ansehnlicher und benutzerfreundlicher macht!
Christopher Kyle Horton
Abschließend frage ich mich , über sh VS bash verwenden .. es es nur aus Gründen der Portabilität (für alle sh hat, aber nicht jeder kann benutzen / haben bash (was an sich schon seltsam ist aber möglich)!)
Marc-André Benoit
1
Zumindest für mich unter Ubuntu 11.04 funktioniert die Escape-Funktion nicht , aber ein Rechtsklick bricht die xkill-Eingabeaufforderung ab.
Shane S.
7

Anstatt Ihre eigenen zu schreiben, können Sie Folgendes versuchen:

Blitzfrost

Gehen Sie hierher und probieren Sie es aus; http://www.omgubuntu.co.uk/2011/10/freezeunfreeze-unity-app-killer/

oder http://www.omgubuntu.co.uk/2011/10/force-quit-applet-unity-launcher/

lqlarry
quelle
summen .. nicht viel nützlich, außer mich auf das Symbol zu richten (nach dem Herunterladen und Lesen des Quellcodes aus der Skriptdatei .. ich brauche kein Unfreeze und so :) aber danke für deine Antwort ..
marc-andre benoit
Es gibt jedoch keine Möglichkeit, dieses Menü anzuzeigen (z. B. durch Klicken bei gedrückter Umschalttaste). Manchmal wird es angezeigt, wenn eine Anwendung ordnungsgemäß eingefroren ist, aber wenn eine App immer noch reagiert, sich jedoch weigert, sie zu beenden. Du hast kein Glück mehr.
Timmmm
6

Ich weiß nicht, ob es ein Symbol für Force Quit gibt, aber der entsprechende Befehl lautet xkill.

Christopher Kyle Horton
quelle
1
das symbol ist eigentlich gnome-panel-force-quit ich werde es jetzt entsprechend bearbeiten ..
marc-andre benoit
2

Wenn Sie die Benachrichtigung unbedingt benötigen , können Sie dies mit notify-send erreichen.

Erstellen Sie die folgende Datei, möglicherweise als forceclose:

#! /bin/sh 

notify-send 'Force close application' 'Select a window to close it.  All data in that window will be lost.  Right click to cancel.' --icon=gtk-cancel
xkill

Dann markieren Sie es als Skript mit chmod +x forceclose

Dann entweder:

a) Verschiebe es in dein / bin-Verzeichnis mit sudo mv forceclose /bin/forcecloseund ändere deinen Launcher so, dass er forceclosestatt aufruft xkill. (nützlich für mehrere Benutzer desselben Systems, vielleicht)

oder

b) Ändern Sie Ihren Launcher so, dass er auf das Verzeichnis zeigt, in dem sich Ihr forceclose-Skript befindet. Beachten Sie, dass andere Benutzer dieses Systems Ihr Skript offensichtlich nicht verwenden können.

Scaine
quelle
1
Und ich sehe, dass Marius mich in den 15 Minuten geschlagen hat, die ich
gebraucht habe
zu kompliziert, aber danke für deine Mühe! ich meine, es ist eleganter, alles in einer einzigen Datei zu haben, als eine zusätzliche zu erstellen :) die von marius vorgeschlagene lösung bringt beim nächsten mal genau das bessere glück!
Marc-Andre Benoit
Sie haben eine große Sache mit der Benachrichtigung für Ihre "Benutzer" gemacht, daher habe ich angenommen, dass Sie möglicherweise mehrere Benutzer auf jedem System haben. In diesem Fall ist es sinnvoll, diese zu / bin hinzuzufügen. Schön, dass Sie eine passende Antwort gefunden haben.
Scaine
1
ps Erstellen einer Datei, Markieren als ausführbar und Kopieren an einen anderen Speicherort ist "zu kompliziert"?!? Ich bin mir nicht sicher, ob du das richtige Wort hast! :-)
Scaine
yeah sorry .. ich war nur sehr müde, ich war auf einem Power-Nap-Marathon (4 Tage hintereinander), was ich meinte ist nur, dass die Benachrichtigung in Code eingebettet ist im Gegensatz zu einer separaten Datei, die für einen kleineren Footprint erstellt wurde, nur eine Datei statt zwei, aber rückblickend ergibt die zusätzliche Datei eine bessere Modularität, die bei größeren Projekten wichtig sein kann, denke ich :)
marc-andre benoit
1
  1. Drücken Sie Alt+ F2.
  2. Typ xkill. dann drücken Enter.
  3. Klicken Sie auf das Fenster, das Sie beenden möchten (klicken Sie mit der rechten Maustaste, um den Vorgang abzubrechen).
Alexan
quelle
1
Dies würde funktionieren, aber das OP fragt, wie es tatsächlich in einen Launcher umgewandelt werden soll, auf den Sie klicken können.
Christopher Kyle Horton
Ich weiß, wie man das auf CLI macht, aber ich habe Benutzer, die nichts damit zu tun haben wollen :) Deshalb stelle ich die Frage an erster Stelle ..
marc-andre benoit