Tenho que alternar entre o Java 8 e o Java 13 para que as diferentes versões do Minecraft funcionem corretamente e, para fazer isso, preciso digitar sudo archlinux-java set java-8-openjdk
ou sudo archlinux-java set java-13-openjdk
– o problema é que quero transformar isso em um script simples de duplo clique que posso colocar na minha área de trabalho sem que ele solicite a senha .
Há algo que eu possa fazer chmod ou algo que o torne tal que este comando não requeira sudo
?
Resposta
Seria uma abordagem mais segura / mais cautelosa não alterar o ambiente Java padrão em todo o sistema apenas para executar versões diferentes de um único programa.
Você pode, em vez disso, iniciar um programa com um PATH
modificado para fazê-lo usar uma versão Java específica (como sugerido em Wiki do Arch Linux , onde archlinux-java
está documentado):
$ PATH="/usr/lib/jvm/java-<version>-openjdk/bin${PATH:+:$PATH}" your_program
Se você usar um arquivo .desktop
para iniciar seu programa, edite seu Exec
chave :
Exec=env PATH="/usr/lib/jvm/java-<version>-openjdk/bin${PATH:+:$PATH}" your_program
Ou, alternativamente, usando a GUI, ajuste seu campo “Propriedades” → “Aplicativo”: “Comando”.
Se você realmente deseja permitir que um usuário execute sudo archlinux-java
sem que uma senha seja solicitada, você pode adicionar
your_user ALL=(root) NOPASSWD: /usr/bin/archlinux-java
ao seu /etc/sudoers
, após qualquer já presente your_user
linhas. Lembre-se de usar visudo
para fazer isso: ele verifica se há erros no arquivo sudoers
antes de salvá-lo, reduzindo o risco de cometer sudo
inutilizável.
Leituras adicionais: