![如何自动打开和关闭应用程序组?](https://linux22.com/image/1077984/%E5%A6%82%E4%BD%95%E8%87%AA%E5%8A%A8%E6%89%93%E5%BC%80%E5%92%8C%E5%85%B3%E9%97%AD%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E7%BB%84%EF%BC%9F.png)
我想单击一个按钮来启动我进行图形设计所需的应用程序组。然后几个小时后就可以关闭它们并打开我的所有社交应用程序(Empathy、Thunderbird、netlog.com 等...)。有时还会打开学习粤语的小组。
我的电脑很普通,因此无法在不同的工作区中很好地加载所有这些内容。使用 Unity 时,我甚至发现将工作区从 4 个减少到 1 个效果更好。
我相信像这样专心工作而不受应用程序干扰也会帮助其他人提高工作效率。我希望有人能帮忙。我们应该为此制定一个促进计划吗?
答案1
你可以用类似这样的方法编写一个 shell 脚本:
#!/bin/bash
my_pgrm0 &
my_pgrm1 &
my_pgrm2 &
...
my_pgrmN &
当您执行脚本时,所有程序(从my_pgrm0
到)都将被启动。my_pgrmN
要关闭程序,使用另一个脚本也是同样的事情:
#!/bin/bash
MY_PGRM_LIST=my_pgrm0 my_pgrm1 my_pgrm2 ... my_pgrmN
for PGRM in $MY_PGRM_LIST; do
killall $PGRM
# Or searching the program with ps aux | grep $PGRM, retrieving the process id and then give this process to kill -9
done
答案2
您可以通过多种方式自行完成此操作。最简单、最轻松的方法是创建简单的脚本,这些脚本只是要运行的程序列表。
如果您的主目录中没有名为“bin”的目录,则需要创建一个,因为这是此类内容的默认位置;从终端命令中,从您的默认主目录输入:mkdir bin
。然后,输入“cd bin”以更改为该目录。在该目录中运行编辑器(例如 gedit),名称为gedit socialapps.sh
。
在编辑器中输入如下内容:
#!/bin/sh
empathy &
thunderbird &
xdg-open http://netlog.com &
完成后,关闭编辑器,然后通过输入使文件可执行chmod +x socialapps.sh
。
使用 alt-f2 运行脚本,然后输入全名。然后,您可以将其固定到启动器,或创建键盘快捷键。
要关闭应用程序,您可以创建另一个类似的脚本,但将其命名为“closesocial.sh”,然后输入如下命令:
pkill empathy &
pkill thunderbird &
对于 URL,您需要杀死浏览器,而且我不确定它会如何工作,特别是当您有其他浏览器窗口时。
可能有更优雅的方法可以做到这一点,但是如果你真的想要它,这应该会起作用,直到你找到更好的方法。