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


11

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

Answers:


5

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

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

现在,您需要刚才引用的配置文件。这是通过打开gnome-terminalEdit->Profiles...在菜单中找到来创建的。创建一个新的配置文件,并为其指定您在上一步中指定的名称。接下来,您需要设置其首选项。突出显示新创建的配置文件,然后单击“编辑”按钮。当“配置文件首选项”对话框打开时,激活“标题和命令”选项卡,选中“运行自定义命令...”,然后在关联的文本框中输入sh -c "ENV=$HOME/.dev_profile sh"。当然,您可以将ENV设置为所需的任何路径,只要在下一步中保持一致即可。这将启动sh,并且sh将执行其中的任何命令$HOME/.dev_profile

接下来,您需要创建该外壳配置文件。因此,编辑$ HOME / .dev_profile(或上一步中指定的任何文件)。将所需的任何命令放在其中;它们将在启动外壳程序时执行。像对待.bashrc一样对待它-这将替换它。根据您的.bashrc设置方式,您可能希望source $HOME/.bashrc在配置文件中复制所有常规sh配置文件的功能。


3
顺便说一句,我强烈建议改用tmux或GNU Screen。它们是终端多路复用器,为这种事情设置起来会更容易一些,您可以在ssh连接上使用它们。唯一的缺点是它们没有供您单击的选项卡,但是您可以获得窗口或会话的菜单列表,可以在其中上下导航并切换到一个菜单。它们还具有其他出色的选项,例如分屏,活动/不活动监视器以及无需连接终端即可保持会话打开的功能。
Shawn J. Goff 2010年

1
屏幕具有优势,但也有缺点。一种是,回滚到过去的输出要比大多数X终端仿真器难。另一个是您不能轻易地同时显示来自同一屏幕会话的两个窗口(如果您使用单独的屏幕会话,这不是问题,但是您需要在它们之间进行切换,这是分开的终端仿真器选项卡或窗口更容易)。
吉尔斯(Gilles)“所以

@Giles:或者屏幕更容易滚动:这取决于您喜欢的工作方式。我不确定您对这两个窗口的意思-我一直都这样做:^ a S ^ a <tab> ^ ac
Shawn J. Goff 2010年

2
是的,这比双击选项卡栏简单得多
Falmarri 2010年

2
@法尔马里:实际上是。我很少触摸鼠标,以至于光学传感器会自行关闭,因此我必须挥动鼠标约1.5秒钟,然后才能单击任何东西。(更不用说这意味着我的手已经从键盘上移开,不得不再次在键盘上找到家位置。)
Shawn J. Goff 2010年

7

您可以在同一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有时会破坏兼容性,因此它可能适用于或可能不适用于其他版本。)


0

我在这里看到很多东西。可能您不需要任何这些。

这些是我在Oracle 5.9 Linux中执行的步骤:

  1. 在桌面中创建一个gnome-terminal图标。
  2. 打开您的gnome终端。
  3. 转到编辑->个人资料。
  4. 选择您的默认配置文件,然后单击编辑。
  5. 进入“标题和命令”标签。
  6. 选择“将命令作为登录外壳运行”选项。
  7. 单击关闭按钮。

它为我工作。当然,就我而言,我只想运行.profile来设置我的终端环境。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.