Ubuntu 18.04 下 IDEA 以 root 身份运行

Posted by liuxu379 on December 25, 2019

前言

因为特殊需要,所以想要 IDEA 以 root 用户运行,但是 Ubuntu 18.04 无法将 IDEA 图标固定在 Dock 栏,又不想每次都手动打开终端来 sudo 运行,网上找了很多方法都无法实现,最终想到一个妥协的方案。


为 IDEA 创建快捷方式

假设我的 IDEA 压缩包解压在 /opt 目录下:

sudo vi /usr/share/applications/xx.desktop
#将以下内容粘贴进去
[Desktop Entry]
Name = xxx
Type=Application
Exec = gnome-terminal -e " bash -c 'sudo -i /opt/xxx/bin/xxx.sh;'"
#如果在确保安全的情况下不想输入密码(非常不建议)
#Exec = gnome-terminal -e " bash -c 'echo password | sudo -i /opt/xxx/bin/xxx.sh;'"
Terminal=false
Icon = /home/opt/xxx/bin/xxx.png
Comment= " Development"
NoDisplay=false
Categories=Development;IDE;
StartupWMClass=jetbrains-xxx
Name[en]= xxx

有一点要注意,StartupWMClass 的参数,需要在终端执行 xprop |grep WM_CLASS,此时光标会变成+,通过 Alt + Tab 来选择对应程序,我以 PhpStrom 为例,选择后会打印出以下信息:

WM_CLASS(STRING) = "jetbrains-phpstorm", "jetbrains-phpstorm"

我们将StartupWMClass 参数改为 jetbrains-phpstorm 即可,此处是避免点击图标启动应用时,Dock 栏出现两个图标。

重点在 Exec 的参数上,该命令的含义是,运行时打开一个终端,并以 sudo 来运行。 因为是以 sudo 来运行的,所以仍避免不了输入 root 密码。


结束

这时可以把创建的 IDEA 图标拖拽到 Dock 栏来单击运行了。