Eu alterei o script para ler:
#!/bin/bash
if [ ! -f /tmp/reboot.txt ]
then
echo "test" > /tmp/reboot.txt
sync
reboot
fi
exit 0
O sync irá liberar as alterações no sistema de arquivos antes da reinicialização.
Eu tenho pouca experiência com o Linux e quase nunca escrevi um shell script, mas precisei de uma estação de trabalho com windows e linux para fazer certos cálculos. A estação de trabalho é, no entanto, usada principalmente remotamente a partir de um computador Windows.
Eu instalei o windows em uma partição e o linux no outro (usando o grub2 para dual boot). Eu escrevi um pequeno script de shell que reinicia o computador no Windows a partir do Linux, mas depois do link
#!/bin/bash
gksudo grub-reboot "Windows 7 (loader) (on /dev/sda1)"
Isso funciona perfeitamente e quando a reinicialização do Windows é iniciada e quando a reinicialização é iniciada novamente, o ubuntu é iniciado.
Para trabalhar através da conexão remota, eu instalei o teamviewer, tanto no windows como no ubuntu (teamviewer 9, diretamente do site teamviewer).
Agora meu problema é o seguinte. Quando eu inicio meu computador, posso usar o teamviewer sem problemas no Ubuntu. Quando eu reinicio o Windows usando o script acima, também posso usar o TeamViewer. Em seguida, quando eu reinicio do Windows para o Ubuntu não consigo me conectar ao TeamViewer. Se eu reiniciar novamente (o que não posso fazer quando estou em um local remoto), o teamviewer funciona perfeitamente no Ubuntu.
Eu tentei procurar se (quando eu não posso usar teamviewer) o serviço teamviewer está rodando no Ubuntu. Qual parece ser o caso, porque quando eu tento o código abaixo, ele me diz que o serviço está em execução. Se eu parar e iniciar o serviço novamente, o TeamViewer ainda não funcionará.
sudo teamviewer --daemon enable (or start)
Minha solução final (não perfeita) para o problema seria fazer um script que basicamente reinicia o Ubuntu uma vez quando ele é iniciado. Eu escrevi um pequeno script de shell para ele que eu coloquei na pasta etc / init.d. O script basicamente faz um arquivo .txt e verifica se isso está presente. Se o teamviewer de reinicializações do computador funcionará novamente. Mas esse roteiro dá problemas.
#!/bin/bash
if [ ! -f /tmp/reboot.txt ];
then
echo "test" > /tmp/reboot.txt
sleep 3s
reboot
else
fi
exit 0
Este script faz o reboot.txt, mas não reinicializa. Eu também tentei remover o else, mas quando fiz isso, ele continua reiniciando continuamente.
Alguém pode me ajudar com meu problema de visualizador de equipe, sobre como resolver facilmente o problema de que ele não funciona? Ou me ajudar com o meu script de shell sobre como reiniciar o Ubuntu uma vez quando ele é inicializado. Esta última solução definitivamente me possibilita usar o teamviewer sem problemas e os 30 segundos extras que esperam pela reinicialização extra não são problema, então acho que seria a solução mais fácil.
ATUALIZAÇÃO: Eu tentei o que o MilliByte respondeu abaixo sem sucesso.
Eu alterei o script para ler:
#!/bin/bash
if [ ! -f /tmp/reboot.txt ]
then
echo "test" > /tmp/reboot.txt
sync
reboot
fi
exit 0
O sync irá liberar as alterações no sistema de arquivos antes da reinicialização.