Olá coelhojhezebell,
Até algum tempo atrás, o serviço smbd era iniciado por um script no diretório /etc/init.d, assim como o serviço cups.
Agora, o smbd tornou-se um serviço "upstart", isso significa que ele não é mais controlado por esses scripts S20samba, etc. Ao contrário, há um script "/etc/init/smbd.conf" que controla a inicialização e o término do samba no boot, e é o mesmo sistema que controla também a interface gráfica (não sei se vc já observou, mas é bem complicado desativar a interface gráfica, e o upstart é a chave dessa dificuldade).
Eu olhei, olhei... olhei... e não vi uma forma simples de resolver seu problema.
Consegui pensar em algumas soluções:
1. Mudar o script do samba pra iniciar o cups antes do smbd ser iniciado.
2. Mudar o script do cups pra reiniciar o samba depois do cups ser iniciado.
3. Dar permissão de sudo ao seu usuário pra reiniciar o samba. Com o sudo, ele pode ser autorizado a fazer isso --- e só isso.
4. Criar um pseudo-serviço que rode na inicialização, depois do cups e do samba, e que "ponha as coisas no lugar". Acho que é a melhor solução.
Pra implantar a solução 4, crie o arquivo /etc/init.d/meuscript com o conteúdo abaixo:
#! /bin/sh
### BEGIN INIT INFO
# Provides: meuscript
# Required-Start: $all
# Required-Stop: $all
# Should-Start: $network cups samba
# Should-Stop: $network
# X-Start-Before:
# X-Stop-After:
# Default-Start: 2 3 4 5
# Default-Stop: 1
# Short-Description: Garante que o Samba vai reconhecer os serviços de impressão
### END INIT INFO
case "$1" in
start)
service smbd restart
;;
esac
Dê permissão de execução nesse script:
sudo chmod +x /etc/init.d/meuscript
Depois cadastre o script para execução com o comando abaixo:
sudo update-rc.d meuscript defaults