Antworten:
Erstellen Sie ein kleines Skript, mit dem das GNOME-Terminal aufgerufen wird:
echo 'xdotool windowactivate $(xdotool search --onlyvisible --class gnome-terminal)'> ~/raiseterminal.sh && chmod +x ~/raiseterminal.sh
oder wenn Sie überprüfen möchten, ob das Terminal bereits läuft, verwenden Sie:
echo -e $'if ps aux | grep "[g]nome-terminal" > /dev/null\n then xdotool windowactivate $(xdotool search --onlyvisible --class gnome-terminal)\n else gnome-terminal &\nfi' > ~/raiseterminal.sh && chmod +x ~/raiseterminal.sh
Dadurch wird das Skript ~ / raiseterminal.sh mit folgendem Inhalt erstellt:
if ps aux | grep "[g]nome-terminal" > /dev/null
then xdotool windowactivate $(xdotool search --onlyvisible --class gnome-terminal)
else gnome-terminal&
fi
Öffnen Sie die Einstellungen, um eine benutzerdefinierte Tastenkombination einzurichten, und setzen Sie den Befehl auf. Stellen Sie /home/$USER/raiseterminal.sh
jedoch sicher, dass Sie $ USER in Ihren tatsächlichen Benutzernamen ändern .
Wenn Sie das Terminal nur auf einem bestimmten Bildschirm oder Desktop öffnen möchten, finden Sie xdotool search --help
weitere Informationen dazu.
Es gibt auch verschiedene andere Methoden, die mit anderen Fenstermanagern besser funktionieren.
warum versuchst du es nicht tilda
oder guake
beides ist in Ubuntu-Repositories verfügbar Obwohl sie nicht genau das tun, wonach Sie suchen, bin ich mir sicher, dass sie genau das sind, wonach Sie gesucht haben, aber nicht wussten, dass es sie gibt. ;)
EDIT : ok, ich war ein bisschen vage, weitere Informationen folgen:
aus Wikipedia :
Tilda ist ein GTK + Terminal Emulator. Das Design wurde von Konsolen in Computerspielen wie Quake inspiriert, die beim Drücken einer Taste, normalerweise der Tilde, vom oberen Bildschirmrand nach unten und beim erneuten Drücken der Taste nach oben gleiten.
Das Ausführen von Tilda kann schneller sein als das Starten eines neuen Terminals mit einer Tastenkombination, da das Programm bereits in den Speicher geladen ist. Dies kann für Personen nützlich sein, die häufig vorfinden, dass Terminals für ungewöhnliche Aufgaben geöffnet und geschlossen werden.
guake
ist wirklich das Gleiche, der einzige Unterschied, den ich bemerkte, ist, dass ich keine http-Links per Strg + Klick öffnen konnte, was ich ärgerlich fand
Meine Version (=
Skript zum Ausführen / Auslösen einer App:
PID=$$
xdotool search --class $1 | while read line
do
echo "$line"
if [ `xdotool windowactivate $line 2> /dev/stdout | grep -c fail` -eq 0 ]
then
kill $PID
exit
fi
done
## Launch the program if we reach here
$1 & disown
z.B
sh ~/raise.sh chromium
Versuchen
sudo apt-get install wmctrl
wmctrl -xa 'gnome-terminal-server.Gnome-terminal'
Gehen Sie zu den Systemeinstellungen - Keyborad, fügen Sie eine benutzerdefinierte Verknüpfung hinzu und fügen Sie dort den Befehl wmctrl ein. Es klappt.
woher der gnome-terminal- * string kommt
wmctrl -xl
Noch eine andere Option: Starten oder Wechseln. Das Skript überprüft anhand von wmctrl, ob ein Fenster bereits geöffnet ist. Wenn dies der Fall ist, wechselt das Skript zu einem vorhandenen, wobei einem vorhandenen Fenster auf dem aktuellen Desktop Priorität eingeräumt wird. Andernfalls wird ein neues Fenster geöffnet. Dieses Skript wird von Vaughn Dickson veröffentlicht .
#!/bin/sh
terminal_wm_class="gnome-terminal"
terminal_exec="gnome-terminal"
# no terminal started, so start one
if [ -z "`wmctrl -lx | grep gnome-terminal`" ]; then
$terminal_exec &
else
# search for existing terminals on current desktop
current_desk=`wmctrl -d | grep '*' | cut -d ' ' -f 1`
term_on_this_desk=`wmctrl -lx | grep "$current_desk[ ]*$terminal_wm_class" | cut -d ' ' -f 1`
if [ -n "$term_on_this_desk" ]; then
wmctrl -i -a $term_on_this_desk
else
# no terminals on current desktop, so just open the first one we find
wmctrl -x -a $terminal_wm_class
fi;
fi;
Legen Sie dieses Skript in den Ordner bin in Ihrem Ausgangsordner und machen Sie es ausführbar. Deaktivieren Sie dann unter Tastaturkürzel (Einstellungen - Tastatur) den vorhandenen Hotkey für "Terminal starten" im Bereich "Startprogramme": Klicken Sie darauf und drücken Sie die Rücktaste, um die aktuelle Zuordnung zu deaktivieren. Erstellen Sie dann im Abschnitt "Benutzerdefinierte Verknüpfungen" eine neue benutzerdefinierte Verknüpfung, indem Sie auf das Symbol + klicken. Füllen Sie den Namen Ihres Skripts als "Befehl" aus und weisen Sie ihm die Tastenkombination Ctrl+ Alt+ zu t.
| head -n1
nach dem Durchsuchen von Gnome-Terminal-Fenstern hinzufügen , um einen Fehler zu vermeiden, wenn mehr als ein Fenster gefunden wird