通常,在开始我的编码任务之前,我会打开以下内容:
- 谷歌浏览器
- 鹦鹉螺
- 终端
- 系统监视器
- 编辑
有没有办法用一个终端命令打开所有这些?
我使用 Ubuntu 18.04。
答案1
我会这么做:
for i in google-chrome nautilus gnome-terminal gedit ; do
setsid "$i" > /dev/null 2>&1
done
setsid
或者nohup
可用于守护进程,这是setsid
首选,因为它将每个进程作为新会话领导者启动,从而有效地将其与终端断开连接。另请参阅nohup、disown 和 & 之间的区别。
至于> /dev/null 2>&1
这只是将每个程序的正常和错误流都发送到终端,/dev/null
以便您仍然可以正常使用终端。另请参阅输出重定向中的 & 到底是什么意思?和&> 和 2>&1 之间有什么区别
我记不清系统监视器的命令了,所以我将这个问题留给你来解决。
您可以随意将此循环变成一个可以存在于您的脚本中的函数~/.bashrc
或一个完整的脚本。由您决定。
答案2
要同时打开上述所有应用程序,你可以执行以下操作:
chromium ; nautilus ; gnome-terminal ; gnome-system-monitor ; gedit
为了使每次登录时都启动它,您可以将此命令放入.desktop 文件在线上Exec=
。
将此文件放入/usr/share/applications
并打开gnome-session-properties
。只需将您的新应用程序添加到当前启动应用程序列表中即可。这应该可以解决问题。
答案3
最简单的方法是编写一个 bash 脚本,其中包含启动这些程序所需的所有命令。
您甚至可以将该脚本放入启动应用程序中,以便它在每次启动时运行。