如何在 xfce4 终端中保存我的多个选项卡会话?

如何在 xfce4 终端中保存我的多个选项卡会话?

因此,我通常会在终端会话中打开大量选项卡,每次打开新终端时,我都必须手动打开所有选项卡。这很烦人。

我检查了一下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”,请参见上文:

即:如果您在屏幕上启动一个运行命令的窗口,请保持该窗口打开...


这是一个动画 GIF,展示了这些标签的运行情况!

xfce4-terminal 来自带有标签和预加载程序的脚本

[链接到更大的图片]



更新

这是我当前的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

相关内容