web-dev-qa-db-fra.com

Comment utiliser IntelliJ IDEA en tant qu'utilisateur système dédié?

le problème

J'ai installé IntelliJ IDEA sur mon système (à /opt/jetbrains) et je souhaite qu'il puisse modifier ses fichiers (se mettre à jour automatiquement) sans activer aucun autre processus pour les modifier.


la configuration

J'ai appris que j'aurais besoin d'un utilisateur système auquel le répertoire /opt/jetbrains appartiendra et que je lancerai IDEA sous le nom de cet utilisateur:

# 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

ce que j'ai essayé

J'ai lu Exécuter un script Shell en tant qu'utilisateur sans mot de passe

J'ai essayé ce qui suit, mais j'ai eu une erreur, ainsi qu'un mot de passe Prompt.

  • Sudo su -c "/opt/jetbrains/idea-ultimate/bin/idea.sh" -s /bin/sh jetbrains
  • Sudo -u jetbrains /opt/jetbrains/idea-ultimate/bin/idea.sh

Les deux sorties:

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 ...

J'ai aussi essayé gksu -w -u jetbrains gksu /opt/jetbrains/idea-ultimate/bin/idea.sh, mais cela m'a demandé un mot de passe - de l'utilisateur jetbrains, qui n'a évidemment aucun mot de passe.

4
MrMeszaros

Il est tard, mais j'espère que cela aidera quelqu'un. Je fais ça:

xhost +SI:localuser:foxx1337 && Sudo -u foxx1337 /opt/jetbrains/idea-ultimate/bin/idea.sh

Ceci est basé sur la réponse merveilleuse que sim a donnée ici - https://unix.stackexchange.com/questions/108784/running-gui-application-as-another-non-root-user

3
foxx1337