Ich benutze Terminator 0.96 als Terminal-Emulator. Wie kann ich es im Hintergrund laufen lassen und es wie ein Guake-Terminal erscheinen / verschwinden lassen (dh mit einer Tastenkombination)?
Ich benutze Terminator 0.96 als Terminal-Emulator. Wie kann ich es im Hintergrund laufen lassen und es wie ein Guake-Terminal erscheinen / verschwinden lassen (dh mit einer Tastenkombination)?
Antworten:
Ich habe versucht, das Gleiche zu tun (ein Fan von Guake und Terminator zu sein). Folgendes habe ich mir ausgedacht (eine angepasste Version der Antwort von desqua auf diese Frage ):
Zum Starten einer Anwendung oder zum Anzeigen ihres Fensters, wenn sie bereits gestartet wurde, oder zum Minimieren, wenn sie fokussiert ist
1) Installieren Sie wmctrl & xdotool oder in einem Terminal:sudo apt-get install wmctrl xdotool
2) Machen Sie ein Skript:
Und fügen Sie dies ein:
#!/bin/bash
#
# This script does this:
# launch an app if it isn't launched yet,
# focus the app if it is launched but not focused,
# minimize the app if it is focused.
#
# by desgua - 2012/04/29
# modified by olds22 - 2012/09/16
# - customized to accept a parameter
# - made special exception to get it working with terminator
# First let's check if the needed tools are installed:
tool1=$(which xdotool)
tool2=$(which wmctrl)
if [ -z $tool1 ]; then
echo "Xdotool is needed, do you want to install it now? [Y/n]"
read a
if [[ $a == "Y" || $a == "y" || $a = "" ]]; then
sudo apt-get install xdotool
else
echo "Exiting then..."
exit 1
fi
fi
if [ -z $tool2 ]; then
echo "Wmctrl is needed, do you want to install it now? [Y/n]"
read a
if [[ $a == "Y" || $a == "y" || $a = "" ]]; then
sudo apt-get install wmctrl
else
echo "Exiting then..."
exit 1
fi
fi
# check if we're trying to use an app that needs a special process name
# (because it runs multiple processes and/or under a different name)
app=$1
if [[ $app == terminator ]]; then
process_name=usr/bin/terminator
else
process_name=$app
fi
# Check if the app is running (in this case $process_name)
#pid=$(pidof $process_name) # pidof didn't work for terminator
pid=$(pgrep -f $process_name)
# If it isn't launched, then launch
if [ -z $pid ]; then
$app
else
# If it is launched then check if it is focused
foc=$(xdotool getactivewindow getwindowpid)
if [[ $pid == $foc ]]; then
# if it is focused, then minimize
xdotool getactivewindow windowminimize
else
# if it isn't focused then get focus
wmctrl -x -R $app
fi
fi
exit 0
chmod +x ~/bin/launch_focus_min.sh
3) Machen Sie Ihre Tastenkombination:
Öffne deine Tastatureinstellungen und erstelle eine benutzerdefinierte Verknüpfung mit dem folgenden Befehl: /home/<user>/bin/launch_focus_min.sh terminator
(~ / bin funktioniert nicht)
Weisen Sie diesen Befehl Shift + Escape zu (oder einer beliebigen Tastenkombination, die Sie für Guake verwendet haben).
#!/bin/bash
Der einfachste Weg, dies zu tun, wäre die Verwendung von xdotool
undwindowunmap/windowmap
Sie die gewünschte Fensterklasse Befehl ein- ausblenden. (Dieser Ansatz wurde in den anderen genannten Antworten nicht erwähnt xdotool
.) Die Lösung funktioniert auf allen Desktops, unabhängig davon, welchen Fenstermanager sie verwenden. Wie die Manpage feststellt ,
In der X11-Terminologie bedeutet das Zuordnen eines Fensters, dass es auf dem Bildschirm angezeigt wird.
Das Aufheben der Zuordnung eines Fensters bewirkt also das Gegenteil und das Ausblenden des Fensters. Leider steht kein Umschalter zur Verfügungxdotool
dem Sie zwischen Karten- und Unkartenzuständen wechseln können, aber die beiden Befehle, die Sie benötigen, finden Sie weiter unten. Der erste verbirgt das Fenster:
xdotool search --class terminator windowunmap %@
und die zweite kehrt den Effekt um:
xdotool search --class terminator windowmap %@
Beachten Sie, dass der windowunmap
Befehl fehlschlägt , wenn das Fenster bereits minimiert ist .
Weitere Informationen finden Sie man xdotool
in den Ubuntu-Online-Hilfeseiten und in meiner Antwort auf diese verwandte Frage .
Indem Sie in Terminator eine Reihe von Einstellungen auswählen, können Sie dafür sorgen, dass sie Guake fast ähneln.
Weitere Informationen finden Sie im folgenden Artikel.
http://www.webupd8.org/2011/07/install-terminator-with-built-in-quake.html
Ich rate Ihnen, alle Schritte im Artikel zu befolgen, um die gewünschten Ergebnisse zu erzielen. Ich habe ein paar Schritte übersprungen, weil ich dachte, dass sie nicht notwendig sind, aber tatsächlich notwendig sind, um einige Fehler zu überwinden.
Ich würde empfehlen, einfach mit yakuake
ein Terminal im gleichen Stil wie guake für den kde-Desktop zu verwenden.
Sie können es installieren, indem Sie ausführen sudo apt-get install yakuake
.
Nun, die einfachste Lösung wäre, Terminator für den Launcher zu sperren und die von Ubuntu bereitgestellten Verknüpfungen zu verwenden .
Sie können jede Anwendung, die für den Launcher gesperrt ist, mit der Launcher-Verknüpfung starten:
Super + 1 bis 9
Halten Sie die Super- Taste gedrückt , um eine vollständige Liste der verfügbaren Schnellzugriffe zu erhalten .
Ich habe ein Skript geschrieben, um das Gnome-Terminal mit byobu in Linux Mint zu erhöhen und zu minimieren, da guake einige seltsame Konsolen-Ausgabe-Probleme hat. Dann habe ich es zu den Verknüpfungen im Abschnitt Administrator-Tastatur-> Shurtcuts hinzugefügt.
Skript namens guake-toggling-for-gnome-terminal.sh :
#!/usr/bin/env bash
if ! pgrep -x "gnome-terminal" > /dev/null
then
gnome-terminal --app-id us.kirkland.terminals.byobu -e byobu
fi
byobuVisible=$(xdotool search --onlyvisible byobu)
byobuNotVisible=$(xdotool search byobu)
xdotool windowminimize ${byobuVisible}
xdotool windowraise ${byobuNotVisible}
Byobu ist hier nur der Fenstername.