我之前已经研究过这个问题,但没有找到任何可以打开终端选项卡、运行一些命令然后允许我继续使用这些终端选项卡的解决方案。我发现从命令行启动终端选项卡的所有方法都只能启动选项卡,而不允许我在此之后继续使用它们。
我试图解决的问题是,每次我需要启动我的机器(或在本例中是虚拟机)时,我都需要设置大约六个不同的终端选项卡来指向不同的文件夹并在其中一些文件夹上导出一些环境变量。
我已经尝试过 xfce 终端,并且通过以下命令获得了一些方法:
terminal --disable-server -H --tab --title=1st_tab --tab --title=2nd_tab
但是如果我添加命令参数,则选项卡打开时将不再可用:
terminal --disable-server -H --tab --title=1st_tab --tab --title=2nd_tab --command="cd ~/folder1"
http://docs.xfce.org/apps/terminal/command-line
我目前正在使用带有 gnome 2.28.2 的 Red Hat Linux。
答案1
您可以使用GNOME terminator
这是一个很棒的终端,除其他功能外,它还具有水平或垂直分割窗格的功能。
安装完成后,terminator
你可以使用所需的设置来设置配置文件(说明改编自这里):
- 运行
terminator
,并设置所需的布局。您可以使用Ctrl++垂直分割窗口,使用++ (即 oodles 中的ShiftO ,而不是零)水平分割窗口。在此示例中,我创建了一个包含 6 个窗格的布局:ECtrlShiftO
- 右键单击
terminator
窗口并选择“首选项”。首选项窗口打开后,转到“布局”并单击“添加”:
- 这将使用您的新布局填充布局列表:
- 找到布局中您创建的每个终端,然后单击它们,然后在右侧输入您想要在启动时在其中运行的命令:
重要的:请注意,命令后面跟着; bash
。如果不这样做,终端将无法访问,因为它们将运行您给出的命令并退出。您需要在每个命令后启动一个 shell 才能使用终端。
设置完所有命令后,单击“关闭”,然后退出terminator
。
打开
terminator
配置文件~/.config/terminator/config
并删除布局下默认配置的部分。然后将您创建的布局名称更改为默认。它应该看起来像这样:[global_config] [keybindings] [profiles] [[default]] [layouts] [[default]] [[[child0]]] position = 446:100 type = Window order = 0 parent = "" size = 885, 550 [[[child1]]] position = 444 type = HPaned order = 0 parent = child0 [[[child2]]] position = 275 type = VPaned order = 0 parent = child1 [[[child5]]] position = 219 type = HPaned order = 1 parent = child1 [[[child6]]] position = 275 type = VPaned order = 0 parent = child5 [[[child9]]] position = 275 type = VPaned order = 1 parent = child5 [[[terminal11]]] profile = default command = 'df -h; bash' type = Terminal order = 1 parent = child9 [[[terminal10]]] profile = default command = 'export foo="bar" && cd /var/www/; bash' type = Terminal order = 0 parent = child9 [[[terminal3]]] profile = default command = 'ssh -Yp 24222 [email protected]' type = Terminal order = 0 parent = child2 [[[terminal4]]] profile = default command = 'top; bash' type = Terminal order = 1 parent = child2 [[[terminal7]]] profile = default command = 'cd /etc; bash' type = Terminal order = 0 parent = child6 [[[terminal8]]] profile = default command = 'cd ~/dev; bash' type = Terminal order = 1 parent = child6 [plugins]
最终的结果是,当您运行时terminator
它将打开 6 个窗格,每个窗格都已运行或正在运行您指定的命令:
答案2
为了使 Terminatorcd
在启动时进入目录,配置命令是:
cd ~/someFolder; bash
cd
这将在指定位置打开一个终端。
实际上,terdon 确实在他的帖子中提到了这一点,但它被埋在他精彩的迷你教程中。在我弄清楚之后,我才注意到它被埋在他的帖子中,所以我留下这个答案是为了强调。
答案3
该命令后面必须跟"; bash"
。其余的应该按照 terdon 的回答https://superuser.com/a/610048