システムにIntelliJ IDEAを(/opt/jetbrains
に)インストールし、そのファイルを変更できるようにしたい(自己更新を行う)他のプロセスがそれらを変更できるようにすることはありません。
/opt/jetbrains
ディレクトリが属するシステムユーザーが必要になることを思いつき、そのユーザーとしてIDEAを実行します。
# Set up things
Sudo mkdir /opt/jetbrains
Sudo adduser --system --home /opt/jetbrains jetbrains
Sudo chown jetbrains /opt/jetbrains
# Install IDEA
wget https://download.jetbrains.com/idea/ideaIU-2017.1.2.tar.gz -O idea.tar.gz
Sudo -u jetbrains tar -xzf idea.tar.gz -C /opt/jetbrains/
rm idea.tar.gz
# Configure idea.desktop
# set the 'Exec' line, to run as user jetbrains
読みました パスワードを持たない別のユーザーとしてシェルスクリプトを実行します
私は次のことを試しましたが、エラーとパスワードのプロンプトが表示されました。
Sudo su -c "/opt/jetbrains/idea-ultimate/bin/idea.sh" -s /bin/sh jetbrains
Sudo -u jetbrains /opt/jetbrains/idea-ultimate/bin/idea.sh
両方の出力:
No protocol specified
Start Failed: Failed to initialize graphics environment
Java.awt.AWTError: Can't connect to X11 window server using ':0' as the value of the DISPLAY variable.
at Sun.awt.X11GraphicsEnvironment.initDisplay(Native Method)
at Sun.awt.X11GraphicsEnvironment.access$200(X11GraphicsEnvironment.Java:65)
at Sun.awt.X11GraphicsEnvironment$1.run(X11GraphicsEnvironment.Java:115)
at Java.security.AccessController.doPrivileged(Native Method)
at Sun.awt.X11GraphicsEnvironment.<clinit>(X11GraphicsEnvironment.Java:74)
at ...
私はgksu -w -u jetbrains gksu /opt/jetbrains/idea-ultimate/bin/idea.sh
も試しましたが、それは明らかにパスワードを持たないユーザーjetbrains
のパスワードを要求しました。
遅いですが、うまくいけば誰かの助けになります。私はこれをやっています:
xhost +SI:localuser:foxx1337 && Sudo -u foxx1337 /opt/jetbrains/idea-ultimate/bin/idea.sh
これは、シムがここで与えた素晴らしい返信に基づいています- https://unix.stackexchange.com/questions/108784/running-gui-application-as-another-non-root-user