Я установил xdotool, запустив sudo apt-get install xdotool
и бросить xdotool key ctrl+alt+t
команда для открытия нового окна терминала из текущего.Но это не сработало.
Какова была команда для открытия нового окна терминала из текущего gnome-терминала?
Просто эта команда будет делать:
gnome-terminal
Обычно, если вы хотите, чтобы команда открывалась из терминала и отделялась (таким образом, он возвращается к подсказке без необходимости закрывать открытую программу), вы должны использовать что-то вроде этого:
gnome-terminal & disown
Однако родительский терминал, похоже, обнаруживает, что используется одна и та же команда, поэтому вам не нужно этого делать и gnome-terminal
будет достаточно. Похоже, это также происходит при запуске xfce4-terminal
с терминала Xfce, konsole
также из KDE (похоже, не работает при запуске xterm
от xterm
(см. также xterm xterm
) - Бегущий konsole
с терминала Gnome / Unity и Xfce работает также, но для терминала Xfce в терминале gnome вам нужно xfce4-terminal & disown
).
Для получения дополнительной информации посетите gnome-terminal
страница руководства пользователя:
gnome-terminal [-e, --command=STRING] [-x, --execute ] [--window-with-profile=PROFILENAME] [--tab-with-profile=PRO‐ FILENAME] [--window-with-profile-internal-id=PROFILEID] [--tab-with-profile-internal-id=PROFILEID] [--role=ROLE] [--show-menubar] [--hide-menubar] [--geometry=GEOMETRY] [--disable-factory] [-t, --title=TITLE] [--working-direc‐ tory=DIRNAME] [--usage] [-?, --help]
Команда для открытия нового окна терминала из текущего терминала,
xdotool key ctrl+shift+n
Устанавливать xdotool
,
sudo apt-get install xdotool
Следующий скрипт откроет новую вкладку в текущем окне gnome-terminal и при необходимости присвоит этой вкладке заголовок. Это работает из любого окна, вам не обязательно находиться в окне терминала gnome, чтобы запустить его. И, если gnome-терминал не запущен, он запустит его. Единственное предостережение заключается в том, что если вы изменили горячую клавишу для открытия новой вкладки, вам, возможно, придется изменить строку xdotool key ctrl+T
чтобы вместо этого использовать вашу горячую клавишу.
#!/bin/bashDELAY=1# get title we are going to set tab too, default to Terminaltitle="Terminal"if [ $# -eq 1 ]; then title="$1"fi # get pid of running terminal serverTPID=$(ps -C gnome-terminal-server -o pid | tail -1 | sed -e's/\s//g')if [ ${TPID} == "PID" ]; then # no terminal process running yet, so just start one gnome-terminal -t "$title" --tab exit 0fi# there is a terminal, get window id of the running terminal serverWID=$(wmctrl -lp | awk -v pid=$TPID '$3==pid{print $1;exit;}')# get title of currently active tabTTITLE=`xwininfo -id 0x5000006 | grep xwininfo | awk '{print $5;exit}'`if [ "$TTITLE" == "\"Terminal\"" ]; then # so we don't go into an infinite loop later TTITLE="we had a terminal named terminal $$"fi# get focus on active terminal tabxdotool windowfocus $WID# use keyboard shortcut to open new tabxdotool key ctrl+T# see if we have created tab and are in terminalNTITLE=`xwininfo -id 0x5000006 | grep xwininfo | awk '{print $5;exit}'`waited=0while [ "$TTITLE" == "$NTITLE" ]; do # sleep for 1 second before we try again xdotool sleep 1 NTITLE=`xwininfo -id 0x5000006 | grep xwininfo | awk '{print $5;exit}'` if [ $waited == 0 ]; then echo "Waiting " waited=1 fi echo -n "."done if [ $waited == 1 ]; then echo ""fi # active tab is the new one we created, wait DELAY seconds just to be sure we can type into it to set tab namexdotool sleep $DELAYxdotool type --clearmodifiers "termtitle $title"xdotool key Return# make tab the active window and raise it to topwmctrl -i -a $WIDexit 0