Я задаю этот вопрос, потому что я попробовал много решений, которые я нашел, и они все не работали:
gnome-terminal --save-config=...
результаты по ошибке, что эта опция не более возможнаgnome-terminal --tab -- 'vim ~/Files/file.txt'
для создания сценария оболочки приводит к ошибке, моя система находится на немецком языке, но это, кажется, похоже There was an error creating the child process for this terminal Failed to execute child process "vim ~/Files/file.txt" (No such file or directory)
и делает только использование просто vim
без файла для открытия работgnome-terminal --tab -- 'cd ~/Files/'
не работает также (ошибка как та выше)Версия # GNOME Terminal 3.28.2 using VTE 0.52.2 +GNUTLS -PCRE2
. Возможно, существуют ошибки в моих способах решить его, или Вы знаете другого (лучшее) альтернатива?
Спасибо за помощь!
Самое близкое я могу найти это, сделало бы, это включает создание нескольких сценариев. gnome-terminal
изменился за эти годы и -x
и --command
опции были в большой степени удержаны от использования. Ваш лучший выбор состоит в том, чтобы создать профили для каждой из вкладок, которые Вы хотите выполнить и использовать:
gnome-terminal --tab-with-profile=Something1 --tab-with-profile=Something2
Если Вы используете материал как ~
или *
в Ваших командах вероятно, что они не будут оценены, так как это - на самом деле задание оболочки (удар) тогда как gnome-terminal
, таким образом, это могло бы помочь создать фактический сценарий где-нибудь и сказать gnome-terminal
использовать это.
Скрипт открывает новые вкладки:
pathtabs.list
список (foo-test) путей к новым вкладкам терминала;autotab.sh
в xdotool
-ФОРМАТИТЬ любой список путей, добавив controlshiftt ярлыки и cd
s для команд;autotab.sh
полезен для формата xdotool <любой-список-путей>
;autotab.sh <любой-список-из -paths>
;foo_*
тестовые каталоги для pathtabs.list
;./autotab.sh pathtabs.list
и сохраняет вывод в новый скрипт maketabs.sh
maketabs.sh
полезен для открытия того же набора вкладок/путей из исходного pathtabs.list
;. ..и запускает команды:
pathncommtabs.list
список (foo-test) путей и команд для запуска в новых вкладках терминала;autopctab.sh
to xdotool
-ФОРМАТИРОВАНИЕ любого списка путей и команд, добавление controlshiftt ярлыков, ;
и cd
s для команд;autopctab.sh
полезен для xdotool
формата <список-путей-и-команд>
(см. pathncommtabs .list
);autopctab.sh <список-путей-и-команд>
; (см. pathncommtabs.list
)./autopctab.sh pathncommtabs.list
и сохраняет список команд в новый скрипт makepctabs.sh
makepctabs.sh
полезно открыть тот же набор вкладок/путей/команд из исходного pathncommtabs.list
;#open-several-tabs-with-xdotool-slowly-and-easily
#!/bin/bash
#pathtabs.list
if [ ! -f ~/pathtabs.list ]; then
echo ~/foo_00 > pathtabs.list
echo ~/foo_00/foo_00_1 >> pathtabs.list
echo ~/foo_00/foo_00_2 >> pathtabs.list
echo ~/foo_00/foo_00_2/foo_00_2_1 >> pathtabs.list
fi
echo 'pathtabs.list: has a list of paths for the new tabs'
#mkdirs
if [ ! -d ~/foo_00/ ]; then
mkdir foo_00
mkdir foo_00/foo_00_1
mkdir foo_00/foo_00_2
mkdir foo_00/foo_00_2/foo_00_2_1
fi
echo 'mkdirs: testing foo_*'
##commtabs.list
if [ ! -f ~/commtabs.list ]; then
echo nano newfile1.txt > commtabs.list
echo nano newfile2.txt >> commtabs.list
echo nano newfile3.txt >> commtabs.list
echo nano newfile4.txt >> commtabs.list
fi
echo 'commtabs.list: has a list of commands to run on the new tabs'
#pathtabs.list+commtabs.list+options
if [ ! -f ~/pathncommtabs.list ]; then
cat pathtabs.list |sed 's/.*/cd &;/'|sed '1s/^/c+s+t;/'|\
paste - commtabs.list|tr -d '\t' |sed '$!s/$/;c+s+t/' > pathncommtabs.list
fi
echo 'pathncommtabs.list: integrates pathtabs.list+commtabs.list+cd+;+(new-tab-tokens)'
#autopctab.sh <anypathncommtabs.list>
if [ ! -f ~/autopctab.sh ]; then
echo '#!/bin/bash' > autopctab.sh
echo 'cat $1| sed '\''s/ /#/g'\''| sed '\''s/\(.\)/\1 /g'\''|sed '\''s/#/space/g'\''|\
sed '\''s/~/asciitilde/g'\''|sed '\''s/_/underscore/g'\''|sed '\''s/c + s + t/control+shift+t/g'\''|\
sed '\''s/\//slash/g'\''|sed '\''s/\./period/g'\''|sed '\''s/;/Return/g'\''|\
sed '\''s/.*/xdotool key --delay 18 & Return/'\''' >> autopctab.sh
chmod u+x autopctab.sh
fi
echo 'autopctab.sh: xdotool-format paths+commands+(xdotool-commands)'
#run autopctab.sh <pathncommtabs.list>
#makepctabs.sh
if [ ! -f ~/makepctabs.sh ]; then
echo '#!/bin/bash' > makepctabs.sh
./autopctab.sh pathncommtabs.list >> makepctabs.sh
chmod u+x makepctabs.sh
fi
echo 'makepctabs.sh: run xdotool command lines to OPEN new tabs AND RUN commands with pathncommtabs.list'
#autotab.sh <anytabs.list>
if [ ! -f ~/autotab.sh ]; then
echo '#!/bin/bash' > autotab.sh
echo 'cat $1|sed '\''s/.*/cd &/'\''|sed '\''s/ /#/g'\''|\
sed '\''s/\(.\)/\1 /g'\''|sed '\''s/#/space/g'\''|\
sed '\''s/~/asciitilde/g'\''|sed '\''s/_/underscore/g'\''|\
sed '\''s/\//slash/g'\''|sed '\''s/\./period/g'\''|\
sed '\''s/.*/xdotool key --delay 18 control+shift+t space c d space asciitilde Return & Return c l e a r Return/'\''' >> autotab.sh
chmod u+x autotab.sh
fi
echo 'autotab.sh: xdotool-format ONLY paths+(xdotool-commands)'
#run autotab.sh <pathtabs.list>
#maketabs.sh
if [ ! -f ~/maketabs.sh ]; then
echo '#!/bin/bash' > maketabs.sh
./autotab.sh pathtabs.list >> maketabs.sh
chmod u+x maketabs.sh
fi
echo 'maketabs.sh: run xdotool command lines ONLY to open new tabs with pathtabs.list'
#run-maketabs?
#./maketabs.sh
#remove-maketabs.sh?
#remove-autotab.sh?
#rm autotab.sh
#remove-pathtabs.list?
#rm pathtabs.list
#run-makepctabs?
#./makepctabs.sh
#remove-makepctabs.sh?
#rm makepctabs.sh
#remove-autopctab.sh?
#rm autopctab.sh
#remove-pathncommtabs.list?
#rm pathncommtabs.list
#remove-dirs?
#rm -r foo_0?
#echo See also 'https://askubuntu.com/a/380320'
#echo ' https://www.semicomplete.com/projects/xdotool/'
#echo ' https://github.com/jordansissel/xdotool'