如何为特定任务自动启动终端实例

Ada*_*ear 10 command-line scripts gnome-terminal

我正在学习一些编程教程,对于每个会话,我必须启动至少 3 个终端窗口(一个用于日志文件尾部,一个用于测试输出,一个用于在其中运行各种 shell 命令等)

现在我手动启动它们:单击终端图标,cd 到正确的文件夹,输入命令,然后将窗口标题更改为有意义的内容。

有没有办法编写脚本或可以为我自动化的东西?如果是这样,如何?

(我很高兴没有得到完整的脚本作为答案。从哪里开始阅读的指针也可以。)

jbo*_*tie 9

由于您单击的是终端图标,因此我假设您正在使用gnome-terminal.

通过gnome-terminal --help在命令行中使用并从那里读取,我得到了一个选项列表。

基于 maco 的回答,我可能会提出这样的建议:

gnome-terminal --window --title=Log -e "tail -f /var/log/syslog" --window --title=Output --working-directory=output --window --active --title=Dev --working-directory=dev/project
Run Code Online (Sandbox Code Playgroud)

此示例启动三个窗口(尽管您可以传递--tab选项卡)并为每个设置工作目录(相对于主目录)和标题,tail在一个窗口中启动命令并使第三个窗口处于活动状态。

当然,您可能更喜欢使用单独的行来启动每个窗口,尤其是当您有很多参数时。

另一件有用的事情是,一旦您按照自己的喜好布置了窗户,就是使用

gnome-terminal --save-config=FILE
Run Code Online (Sandbox Code Playgroud)

这将创建一个配置文件,其中包含有关所有打开的终端窗口和选项卡(包括标题、工作目录等)的信息。使用该--load-config选项启动 gnome-terminal将重新创建您的布局。

许多使用多个终端的开发人员喜欢使用Terminator,因为它添加了网格布局和键盘快捷键等功能。


mac*_*aco 8

无论您使用什么终端模拟器,都应该能够接受命令作为参数。例如:

gnome-terminal -e "tail -f /var/log/syslog"
Run Code Online (Sandbox Code Playgroud)

只需在 System -> Preferences -> Sessions (Ubuntu) 或 System Settings -> Autostart (Kubuntu) 中将此类命令添加到您的自动启动