从Windows转到Linux系统,一开始很多人都会依赖图形界面来过渡。随着安装的软件越来越多,尤其是编程用的IDE(比如JetBrains家的那些),每次都得先cd到层层目录下的bin文件夹,再手动运行启动脚本,次数一多确实挺烦人的。能不能省掉这些麻烦,快速启动应用?一个不会偷懒的程序员,大概不能算真正的攻城狮。下面就把解决问题的思路整理出来,供大家参考。
环境
一切不说版本的教程都是耍流氓——系统是CentOS 7,桌面环境是GNOME 3.14。


方法一:快捷方式
首先想到的自然是类比Windows桌面快捷方式的做法,然后去Google一通教程。
Create Launcher
右键点击桌面,选择“Create Launcher”。网上教程链接很多,但版本不同,选项可能就消失了。我这里的情况是——桌面上根本没有“Create Launcher”这个选项。所以这条路直接堵死。
修改.desktop文件
1. 终端输入:sudo vim /usr/share/applications/datagrip.desktop
编辑.desktop文件,将Exec和Icon的路径修改为DataGrip的实际安装路径。


2. 给该文件赋予可执行权限:chmod u+x datagrip.desktop。这一步很关键——必须保证它是可执行文件。
说明:以上操作针对的是解压安装的情况。如果是通过deb包安装的,/usr/share/applications/目录下应该已经存在对应的.desktop文件,步骤1、2可以省略。
3. 把.desktop文件复制到桌面目录即可。

方法二:直接在终端启动
这是最推荐的方法——简单、快捷、方便。
操作步骤
直接在终端输入指令,创建软链接。具体命令如下图:
然后执行 rehash 命令。为什么需要这一步?因为当前终端的hash表保存的是创建软链接之前的缓存,如果不更新,新的软链接对当前终端不生效。官方解释是:Typically, compinit will not automatically find new executables in the $PATH. For example, after you install a new package, the files in /usr/bin would not be immediately or automatically included in the completion. Thus, to ha ve these new executables included, one would run: rehash.
运行 rehash 之后,软链接就生效了:
从此以后,直接在终端输入 datagrip 就能启动DataGrip了。
原理讲解
/usr/bin 目录存放的是一些可执行文件(比如shell脚本)。创建软链接的本质,就是把datagrip变成像 ls、cat 这样的系统命令。当输入 datagrip 时,系统会按照环境变量(通过 $PATH 查看)指定的路径顺序去查找可执行文件,最终定位到 /usr/bin 下我们创建的软链接。
小结
方法一折腾了好几次才成功,方法二几乎一次就搞定了。所以强烈推荐方法二——直接在终端建立软链接,快速、高效。
