Com a ajuda de @Lekensteyn , criei uma versão na qual você pode selecionar o perfil no GRUB. A criação do menu personalizado ainda pode ser melhorada provavelmente.
Etapa 1: crie um menu personalizado do GRUB
Você precisa criar entradas de menu do GRUB com um parâmetro adicional. Você pode seguir estas instruções . Então, copie sua entrada padrão de /boot/grub/grub.cfg
(as linhas com menuentry ... { ... }
) para /etc/grub.d/40_custom
.
Em seguida, edite (a entrada copiada em /etc/grub.d/40_custom
) a linha em que diz linux /boot...
e adicione na linha e de uma linha separada por um espaço:
productivity-profile=1
Você também pode editar o nome da entrada do menu, então altere a parte menuentry 'Ubuntu, with...
para algo como menuentry 'Ubuntu (Profile 1), with...
.
Adicione uma entrada de menu para cada um dos seus perfis (com um número único cada).
Você pode remover as permissões de execução dos outros arquivos em /etc/grub.d/
para remover essas entradas do menu. Não esqueça de executar sudo update-grub
depois.
Note que depois de uma atualização do kernel, você teria que alterar seu menu manualmente se você seguir estas instruções! (Você pode melhorar esta resposta e descrever como editar os scripts em /etc/grub.d/
de acordo.´)
Etapa 2: verifique se a Etapa 1 foi bem-sucedida
Reinicialize e selecione um dos perfis. Em seguida, execute em um terminal:
cat /proc/cmdline
Você deve receber algo como:
BOOT_IMAGE=/boot/vmlinuz-2.6.... root=... productivity-profile=2
... onde o número no final da linha tem que ser o perfil escolhido.
Etapa 3: adote o script de acordo com suas necessidades e execute-o na inicialização
Em seguida, use este script para executar seus scripts de inicialização:
#!/bin/bash
profile=$(cat /proc/cmdline |sed 's/.*productivity-profile=\([0-9]\).*//g')
echo Running profile $profile ...
case $profile in
1)
# Run script for profile 1
./script-profile1.sh
;;
2)
# Run script for profile 1
./script-profile2.sh
;;
3)
# Run script for profile 1
./script-profile3.sh
;;
*)
echo Error
;;
esac