有些朋友反映在终端启动某些程序后会占用终端不释放,直至关闭那个程序,例如:

1
jiawzhang@company-ws:~$ gedit

启动 gedit 后,直至关闭 gedit,否则用户无法继续使用启动gedit的这个终端。为了解决这个问题,可以按Ctrl+Alt+t打开终端,在当前 home 目录(缩写为 ~)下创建一个文本文件命名为 x,内容为:

1
2
#!/bin/sh
"$@" 1>/dev/null 2>&1 &

这个脚本的大意是运行软件的时候,不输出任何标准信息和错误信息,并且在后台运行,这样就可以避免占据终端的行为。接着执行:

1
2
3
4
jiawzhang@comapny-ws:~$ mkdir ~/bin   # 在home目录下创建bin目录
jiawzhang@comapny-ws:~$ chmod u+x ~/x # 赋予x脚本用户级别的可执行权限
jiawzhang@comapny-ws:~$ mv ~/x ~/bin  # 将x脚本移动到bin目录
# 重新登录或者重启机器使得这些变更生效

~/bin 目录是一个特殊的目录,任何放置在其中的脚本程序,都可以在终端中被直接识别,运行,因此今后只需要在被启动的程序名前加 x 如:

1
jiawzhang@company-ws:~$ x gedit

终端就不再会被占据。

摘自http://ghosertblog.github.io/blog/2012/10/22/ubuntu-living-handbook-experience/