Answers:
是的,有办法。您需要告诉gnome-terminal启动具有某些配置文件的选项卡;必须配置这些配置文件才能使用所需命令启动Shell。
首先,您需要制作一个将启动的脚本(或启动器图标)gnome-terminal --tab-with-profile=Dev。“ Dev”是您将创建的配置文件的名称,因此请将其替换为所需的名称。另外,您可以根据需要指定任意数量的--tab-with-profile:它将为每个标签打开一个标签。
现在,您需要刚才引用的配置文件。这是通过打开gnome-terminal并Edit->Profiles...在菜单中找到来创建的。创建一个新的配置文件,并为其指定您在上一步中指定的名称。接下来,您需要设置其首选项。突出显示新创建的配置文件,然后单击“编辑”按钮。当“配置文件首选项”对话框打开时,激活“标题和命令”选项卡,选中“运行自定义命令...”,然后在关联的文本框中输入sh -c "ENV=$HOME/.dev_profile sh"。当然,您可以将ENV设置为所需的任何路径,只要在下一步中保持一致即可。这将启动sh,并且sh将执行其中的任何命令$HOME/.dev_profile
接下来,您需要创建该外壳配置文件。因此,编辑$ HOME / .dev_profile(或上一步中指定的任何文件)。将所需的任何命令放在其中;它们将在启动外壳程序时执行。像对待.bashrc一样对待它-这将替换它。根据您的.bashrc设置方式,您可能希望source $HOME/.bashrc在配置文件中复制所有常规sh配置文件的功能。
您可以在同一gnome-terminal命令行上启动多个命令,方法是--tab-with-profile多次指定该选项,然后每次都-e指定一个命令以在该选项卡中运行哪个命令。您也可以使用--window-with-profile多个窗口。例如,以下命令启动两个带有两个选项卡的窗口。第一个窗口在每个选项卡中运行bash,将环境变量设置TAB为1或2;第二个窗口htop在一个选项卡中运行,在另一个选项卡中运行iotop。由于sh某些原因,必须使用正确的引号进行显式调用。
gnome-terminal --tab-with-profile="Default" -e 'sh -c '\''export TAB=1; exec bash'\' \
--tab-with-profile="Default" -e 'sh -c '\''export TAB=2; exec bash'\' \
--window-with-profile="Default" -e 'htop' \
--tab-with-profile="Default" -e 'iotop'
如果要在登录时运行命令,请将其放入外壳脚本中(例如~/bin/my_gnome_login_commands,然后将其注册到Gnome菜单的“系统/首选项/启动应用程序”中。或者,创建一个~/.config/autostart/my_commands.desktop包含以下内容的文件:
[Desktop Entry]
Type=Application
Exec=/home/tshepang/bin/my_gnome_login_commands
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true
(您必须在线使用主目录的完整路径Exec=,而不能使用~。)
(此答案已在Ubuntu 10.04上的Gnome 2.30中进行了测试。由于Gnome有时会破坏兼容性,因此它可能适用于或可能不适用于其他版本。)