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