Używam Ubuntu 9.04 x64 i kiedy piszę:
gnome-terminal --tab
Na terminalu oczekuję, że otworzy nową kartę w tym samym oknie terminala. Ale zamiast tego otwiera nowe okno.
Dowiedziałem się, że jego zamiarem jest otwarcie nowej zakładki w nowym oknie czyli jak napiszę:
gnome-terminal --tab --tab
Otworzy się nowe okno z dwiema zakładkami.
Powstaje więc pytanie, w jaki sposób mogę otworzyć nową kartę w bieżącym oknie za pomocą polecenia w gnome-terminal
?
Ctrl+Shift+T
gdy polecenie jest uruchamiane z pliku skryptu? (Słyszałem, że coś, co nazywa się D-Bus, może to zrobić)!Odpowiedzi:
Spowoduje to automatyczne określenie odpowiedniego terminala i odpowiednie otwarcie karty.
źródło
WID= xprop -root | grep "_NET_ACTIVE_WINDOW(WINDOW)"| awk '{print $5}'; xdotool windowfocus $WID; xdotool key ctrl+shift+t $WID
sleep 1; xdotool type --delay 1 --clearmodifiers "your Command"; xdotool key Return;
do uruchamiania polecenia.Możesz także kazać każdej karcie uruchomić polecenie set.
źródło
gnome-terminal --tab -e "cd /tmp"
gnome-terminal --tab --working-directory="/home/user/X/Y/"
. Nie wiem dlaczego, ale"~/X/Y/"
nie zadziałało.gnome-terminal --tab -e "tail -f file_a" --tab -e "tail -f file_b"
, terminal gnome otworzy się z dwiema zakładkami, w których każda karta będzie miała odpowiednią zawartość pliku, ale zamknie w momencie wysłania ^ C. To pokazuje, dlaczego to nie działa, ale nie wiem, jak temu zaradzić.Znalazłem najprostszy sposób:
używam
tmux
zamiast bezpośrednio używać terminala. Więc to, czego chcę, to naprawdę pojedynczy i prosty plik polecenia / powłoki, aby zbudować programenv
z kilkomatmux
oknami. Kod powłoki jest następujący:źródło
'command 1'
działają lepiej niż podwójne cudzysłowy, które działają dla mnie tylko wtedy, gdy podam również--working-directory="/some/path/"
Nieco bardziej rozbudowana wersja (do użycia z innego okna):
źródło
Na wszelki wypadek chcesz otworzyć
proszę bardzo:
(tak przy
mate-terminal
okazji)źródło
xfce4-terminal
okazji działa to samo . Które z tych poleceń faktycznie odpowiada za ten punktand having them stay open...
? Pytam, ponieważ nie ma o tym wzmianki na stronie podręcznika przynajmniej dlaxfce4-terminal
Aby zebrać kilka różnych punktów powyżej, oto skrypt, który uruchomi wszystkie argumenty przekazane do skryptu
vim new_tab.sh
:Następnie uczyń go wykonywalnym:
chmod +x new_tab.sh
Teraz możesz go użyć do uruchomienia, co chcesz, w nowej karcie:
./new_tab.sh "watch ls -l"
źródło
Nie mam zainstalowanego gnome-terminal, ale powinieneś być w stanie to zrobić, używając wywołania DBUS w linii poleceń, używając dbus-send .
źródło
Zamiast tego rozważ użycie Roxterm.
otwiera kartę w bieżącym oknie.
źródło
Dla każdego, kto szuka rozwiązania, które nie korzysta z wiersza poleceń: ctrl + shift + t
źródło
Aby otworzyć wiele kart w tym samym oknie terminala, możesz skorzystać z następującego rozwiązania.
Przykładowy skrypt:
źródło
osascript
to OSX (Apple)$HOME
zmiennej środowiskowej lub odpowiednika OSX, jeśli jest inny.