每次登录后,我都会在 gnome-terminal 的特定选项卡上运行某些命令。这是一个繁琐的过程,那么这可以自动完成吗?
答案1
是的,有办法。您需要告诉 gnome-terminal 启动具有某些配置文件的选项卡;必须设置这些配置文件才能使用您想要的命令启动 shell。
首先,您需要制作一个将启动的脚本(或启动器图标)gnome-terminal --tab-with-profile=Dev
。 “Dev”是您将创建的配置文件的名称,因此请将其替换为您想要的任何名称。此外,您可以--tab-with-profile
根据需要指定任意数量的s:它将为每个选项卡打开一个选项卡。
现在,您需要刚刚引用的配置文件。这是通过打开gnome-terminal
并Edit->Profiles...
在菜单中查找来创建的。创建一个新的配置文件并为其指定您在上一步中指定的名称。接下来,您需要设置其首选项。突出显示新创建的配置文件并单击“编辑”按钮。当“配置文件首选项”对话框打开时,激活“标题和命令”选项卡,选中“运行自定义命令...”,然后在关联的文本框中输入sh -c "ENV=$HOME/.dev_profile sh"
.当然,你可以将ENV设置为任何你想要的路径,只要你下一步保持一致即可。这将启动 sh,sh 将执行其中的所有命令$HOME/.dev_profile
接下来,您需要创建该 shell 配置文件。因此,编辑 $HOME/.dev_profile (或您在上一步中指定的任何文件)。将您想要的任何命令放在那里;它们将在 shell 启动时执行。像处理 .bashrc 一样对待它 - 这将替换它。根据 .bashrc 的设置方式,您可能希望source $HOME/.bashrc
在配置文件中从普通 sh 配置文件复制所有功能。
答案2
您可以在同一个 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'
如果您希望在登录时运行某个命令,请将其放入 shell 脚本中(例如~/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 有时会破坏兼容性,因此它可能适用于其他版本,也可能不适用于其他版本。)
答案3
我在这里看到很多东西。也许你不需要这些。
这些是我在 Oracle 5.9 Linux 中执行的步骤:
- 在桌面上创建一个 gnome 终端图标。
- 打开你的 gnome 终端。
- 转到编辑 -> 配置文件。
- 选择您的默认配置文件并单击编辑。
- 进入“标题和命令”选项卡。
- 选择“作为登录 shell 运行命令”选项。
- 单击关闭按钮。
这对我有用。当然,就我而言,我只想运行 .profile 来设置我的终端环境。