如何在登录后在 gnome 终端上自动运行命令?

如何在登录后在 gnome 终端上自动运行命令?

每次登录后,我都会在 gnome-terminal 的特定选项卡上运行某些命令。这是一个繁琐的过程,那么这可以自动完成吗?

答案1

是的,有办法。您需要告诉 gnome-terminal 启动具有某些配置文件的选项卡;必须设置这些配置文件才能使用您想要的命令启动 shell。

首先,您需要制作一个将启动的脚本(或启动器图标)gnome-terminal --tab-with-profile=Dev。 “Dev”是您将创建的配置文件的名称,因此请将其替换为您想要的任何名称。此外,您可以--tab-with-profile根据需要指定任意数量的s:它将为每个选项卡打开一个选项卡。

现在,您需要刚刚引用的配置文件。这是通过打开gnome-terminalEdit->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 中执行的步骤:

  1. 在桌面上创建一个 gnome 终端图标。
  2. 打开你的 gnome 终端。
  3. 转到编辑 -> 配置文件。
  4. 选择您的默认配置文件并单击编辑。
  5. 进入“标题和命令”选项卡。
  6. 选择“作为登录 shell 运行命令”选项。
  7. 单击关闭按钮。

这对我有用。当然,就我而言,我只想运行 .profile 来设置我的终端环境。

相关内容