Primeiramente, quero reiterar que você não precisa alterar o tempo de execução Java padrão do sistema para executar um programa usando um tempo de execução Java não padrão.
Por exemplo, o Eclipse e o NetBeans têm arquivos de configuração onde você pode especificar qual runtime Java deve usar.
Também típico de aplicativos Java é honrar a variável de ambiente $JAVA_HOME
. Portanto, no shell, apenas execute JAVA_HOME=/usr/lib/jvm/java-6-sun/ foo
e JAVA_HOME=/usr/lib/jvm/java-7-oracle/ bar
para aplicativos foo e bar . Você pode até colocar isso em um script para não precisar digitá-lo toda vez.
Como você está focado em mudar o tempo de execução Java padrão do sistema, a documentação da Comunidade Ubuntu sobre o sudo é um lugar para ler: link
A página de manual (ou seja, man sudoers
) é outra: link
Você está correto em afirmar que não deseja o %sudo ALL=NOPASSWD: ALL
em seu arquivo sudoers . Em vez disso, tente algo assim:
jessegaspar caelum-sala1-9 = (root) NOPASSWD:/usr/local/bin/changejava
Isso pode ser mais restritivo do que você realmente quer, mas é um exemplo. É provavelmente uma boa prática listar o caminho completo para o comando, mas esse pode não ser o caminho para o seu script em seu sistema.