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