Odpowiedzi:
Utwórz mały skrypt, który podniesie terminal GNOME:
echo 'xdotool windowactivate $(xdotool search --onlyvisible --class gnome-terminal)'> ~/raiseterminal.sh && chmod +x ~/raiseterminal.sh
lub jeśli chcesz sprawdzić, czy Terminal już działa, użyj:
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
Spowoduje to utworzenie skryptu ~ / raiterminal.sh z następującą zawartością:
if ps aux | grep "[g]nome-terminal" > /dev/null
then xdotool windowactivate $(xdotool search --onlyvisible --class gnome-terminal)
else gnome-terminal&
fi
Otwórz preferencje, aby skonfigurować niestandardowy skrót klawiaturowy i ustaw polecenie na /home/$USER/raiseterminal.sh
, ale pamiętaj, aby zmienić $ USER na rzeczywistą nazwę użytkownika.
Jeśli chcesz podnieść terminal tylko na określonym ekranie lub pulpicie, zobacz xdotool search --help
więcej informacji, jak to zrobić.
Istnieją również różne inne metody, które działają lepiej z innymi menedżerami okien.
dlaczego nie spróbujesz tilda
lub guake
oba są dostępne w repozytoriach ubuntu. Chociaż nie robią dokładnie tego, czego szukasz, jestem pewien, że to jest to, czego szukałeś, ale nie wiedziałem, że istnieje. ;)
EDYCJA : ok, byłem trochę niejasny, więcej informacji poniżej:
z wikipedii :
Tilda to emulator terminala GTK +. Jego konstrukcja została zainspirowana konsolami w grach komputerowych, takich jak Quake, które zsuwają się z góry ekranu po naciśnięciu klawisza, zazwyczaj tyldą, i zsuwają się z powrotem po ponownym naciśnięciu klawisza.
Uruchomienie Tilda może być szybsze niż uruchomienie nowego terminala za pomocą skrótu klawiaturowego, ponieważ program jest już załadowany do pamięci; może być przydatny dla osób, które często otwierają i zamykają terminale dla nieparzystych zadań.
guake
to naprawdę to samo, jedyną różnicą, którą zauważyłem, jest to, że nie mogłem otwierać linków http za pomocą klawiszy Ctrl + kliknięcie, co było dla mnie denerwujące
Moja wersja (=
Skrypt do uruchomienia / podniesienia dowolnej aplikacji:
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
na przykład
sh ~/raise.sh chromium
Jeszcze inna opcja: uruchom lub zmień. Skrypt polega na wmctrl, aby sprawdzić, czy okno jest już otwarte. Jeśli tak, skrypt przełącza się na istniejący, dając pierwszeństwo istniejącemu oknu na bieżącym pulpicie. W przeciwnym razie zostanie otwarte nowe okno. Ten skrypt został opublikowany przez Vaughna Dicksona .
#!/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;
Umieść ten skrypt w folderze bin w folderze domowym i ustaw go jako wykonywalny. Następnie w obszarze Skróty klawiaturowe (Ustawienia - Klawiatura) wyłącz istniejący skrót klawiszowy „Uruchom terminal” w sekcji „Wyrzutnie”: kliknij go, a następnie naciśnij klawisz Backspace, aby wyłączyć bieżące przypisanie. Następnie w sekcji „Skróty niestandardowe” utwórz nowy niestandardowy skrót, klikając ikonę +. Wpisz nazwę swojego skryptu jako „polecenie” i przypisz mu skrót Ctrl+ Alt+ t.
| head -n1
po przeszukaniu okien terminala gnome, aby uniknąć błędu, jeśli znaleziono więcej niż jedno okno