web-dev-qa-db-ja.com

IntelliJ IDEAを専用システムユーザーとして実行する方法は?

問題

システムに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のパスワードを要求しました。

4
MrMeszaros

遅いですが、うまくいけば誰かの助けになります。私はこれをやっています:

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

3
foxx1337