É tarde, mas espero que ajude alguém. Eu estou fazendo isso:
xhost +SI:localuser:foxx1337 && sudo -u foxx1337 /opt/jetbrains/idea-ultimate/bin/idea.sh
Isto é baseado na resposta maravilhosa que o sim deu aqui - link
Instalei o IntelliJ IDEA no meu sistema (para /opt/jetbrains
), e quero que ele seja capaz de modificar seus arquivos (fazer auto-atualização) sem permitir que nenhum outro processo os modifique. / p>
Eu descobri que precisarei de um usuário do sistema, a quem o diretório /opt/jetbrains
pertencerá, e executarei o IDEA como esse usuário:
# 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
Eu li Executar uma script de shell como outro usuário que não possui senha
Eu tentei o seguinte, mas recebi um erro, bem como uma solicitação de senha.
sudo su -c "/opt/jetbrains/idea-ultimate/bin/idea.sh" -s /bin/sh jetbrains
sudo -u jetbrains /opt/jetbrains/idea-ultimate/bin/idea.sh
Ambas as saídas:
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.access0(X11GraphicsEnvironment.java:65)
at sun.awt.X11GraphicsEnvironment.run(X11GraphicsEnvironment.java:115)
at java.security.AccessController.doPrivileged(Native Method)
at sun.awt.X11GraphicsEnvironment.<clinit>(X11GraphicsEnvironment.java:74)
at ...
Eu também tentei gksu -w -u jetbrains gksu /opt/jetbrains/idea-ultimate/bin/idea.sh
, mas isso me levou a uma senha - do usuário jetbrains
, que obviamente não tem senha.
Tags sudo permissions security gksu intellij