因此,我通常会在终端会话中打开大量选项卡,每次打开新终端时,我都必须手动打开所有选项卡。这很烦人。
我检查了一下man xfce4-terminal
,但没有提到保存会话。这可能吗?
答案1
您可以创建带有预定义选项卡的快捷方式,如下所示:
Terminal --geometry=100x40 --hide-menubar --hide-toolbars -T "Host1" -e "ssh -t root@host1" --tab -T "Host2" -e "ssh -t root@host2"
但是在快捷方式编辑器对话框的命令行中存在类似的东西。
要使每个选项卡都有不同的工作目录,您可以这样做:
Terminal --working-directory=$HOME/tmp --tab --working-directory=$HOME/src --tab --working-directory=$HOME/opt
第一个选项卡前面没有--tab
,这使其与新的顶级窗口相关联。然后是两个具有不同工作目录的附加选项卡。
尽量避免使用~
扩展,因为这是一个 shell 功能,可能在其他环境中不起作用(例如自定义启动器)。
答案2
该解决方案部署一个包含多个选项卡和流程的窗口。
我创建了一个启动脚本(xfce4-terminal-startup.sh
),
#!/bin/bash
xfce4-terminal --maximize --title='Neovim' -x bash -c "nvr -s; exec bash"
xfce4-terminal --tab --title='psql' -x bash -c "psql -d zzz; exec bash"
xfce4-terminal --tab --title='Cypher-shell' -x bash -c "cd /mnt/Vancouver/Programming/data/hmdb; exec bash"
xfce4-terminal --tab --title='Cycli' -x bash -c "source activate py35 && cycli -P *** -u *** -p ***; exec bash"
xfce4-terminal --tab --title='Py3' -x bash -c "source activate py35 && python; exec bash"
xfce4-terminal --tab --title='bc' -x bash -c "bc; exec bash"
xfce4-terminal --tab --title='ud' -x bash -c "pacaur -Syu; exec bash"
执行后将启动 xfce4-terminal、最大化它并启动指示的各种程序。
关于“exec bash”,请参见上文:
- https://unix.stackexchange.com/questions/47271/prevent-gnu-screen-from-terminating-session-once-executed-script-ends *https://unix.stackexchange.com/questions/75902/how-to-run-xfce-terminal-with-different-commands-per-tab-and-keep-using-the-tabs
即:如果您在屏幕上启动一个运行命令的窗口,请保持该窗口打开...
这是一个动画 GIF,展示了这些标签的运行情况!
[链接到更大的图片]
更新
这是我当前的xfce4-terminal-startup.sh
脚本(您可以在此处下载:https://persagen.com/files/misc/xfce4-terminal-startup.sh):
#!/bin/bash
# vim: set filetype=sh :
# vim: syntax=sh
# /mnt/Vancouver/programming/scripts/xfce4-terminal-startup.sh
# https://web.archive.org/web/20110314180918/http://www.davidpashley.com/articles/writing-robust-shell-scripts.html
# https://stackoverflow.com/questions/2870992/automatic-exit-from-bash-shell-script-on-error/2871034#2871034
set -e
# ----------------------------------------------------------------------------
# This one first:
# Python as basic calculator: 1/3; import math; 2*math.pi; ...
xfce4-terminal --maximize --title='calculations' -x bash -c "python; exec bash"
# ... then (these will open as child tabs in the parent terminal window, above):
# Open my (current) project directory:
xfce4-terminal --tab --title='bash' -x bash -c "cd /mnt/Vancouver/projects/ie/claws/; pwd; ls -l; echo ''; exec bash"
# Start Neovim:
xfce4-terminal --tab --title='neovim' -x bash -c "nvr -s; exec bash"
# Open ripgrep tab (echo sample command), for fast searches in that director:
xfce4-terminal --tab --title='ripgrep' -x bash -c "cd /mnt/Vancouver/domains/PERSAGEN.com/2.0/; echo rg . -i -e \'1903.03243\'; exec bash"
# Open an Arch Linux update tab:
xfce4-terminal --tab --title='ud' -x bash -c "yay -Syu; exec bash"
答案3
#OldCoder 为 #Laclin 修补的 xfce4 终端允许使用菜单保存/加载任意数量的命名选项卡。它保存一个“选项卡集”(最多 4 个):工作目录和选项卡名称,而不是会话数据本身,但这对我来说已经足够了,您的帖子表明该功能对您来说可能已经足够了。我遇到了这个问题并向他提到了这个问题,因为这里的解决方案并不令人满意,他基于一个旧补丁,但在最新版本上让代码运行起来。
该补丁的网页是:https://laclin.com/xfce4-tabset.html
在他的帮助下,我制作了一个安装脚本,该脚本在以下原始下载链接处进行修补和依赖项安装:https://raw.githubusercontent.com/poikilos/linux-preinstall/master/everyone/xfce/xfce4-terminal-laclin_savetabs.sh)
我的脚本安装了大多数/所有依赖项,但您必须首先自己安装适用于 Linux 的构建工具(例如,
sudo apt-get install build-essential
如果使用 Ubuntu/Debian/Devuan 并构建)。保存脚本,例如
wget -O xfce4-terminal-laclin_savetabs.sh
后面跟着上面的原始 URL,然后在终端中运行:(bash xfce4-terminal-laclin_savetabs.sh
它使用 sudo 作为依赖项,sudo make install
如果成功,则会导致 /usr/local/bin/xfce4-terminal)。如果发现有任何缺失,请在此处报告问题:https://github.com/poikilos/linux-preinstall/issues。