Como fazer o conjunto archlinux-java … não exigir sudo?

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:

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *