Eu também tenho uma situação semelhante: muitas vezes eu uso meu terminal Mac para iniciar comandos no meu servidor Ubuntu.
Uma coisa que você não mencionou na sua pergunta é a maneira como você se conecta ao seu servidor Ubuntu a partir do terminal Mac. Se você não se conectar ao servidor Ubuntu primeiro, todos os seus comandos digitados no terminal Mac serão executados pelo próprio Mac, não pelo servidor Ubuntu.
Para se conectar ao seu servidor Ubuntu a partir do terminal Mac, digite um dos seguintes comandos, dependendo da configuração do seu servidor Ubuntu:
telnet <IP address or DNS name of your Ubuntu server>
ou
ssh <IP address or DNS name of your Ubuntu server>
Uma vez que você esteja logado corretamente no seu servidor ubuntu, o prompt irá indicá-lo exibindo o endereço IP ou o nome DNS do seu servidor ubuntu.
Depois, você pode digitar seus comandos como se estivesse em um terminal de servidor Ubuntu. Quando eu testei o que você quer fazer, eu não tive que usar o comando nohup. O "& amp;" coisa foi o suficiente.
No meu caso de teste, conectei-me ao Ubuntu Sever do meu terminal Mac através do comando ssh e, em seguida, iniciei o meu comando a partir do terminal Mac conectado:
ssh myServerDNSname
x11vnc &
Neste momento, quando analiso a hierarquia do processo usando o comando ps -elaf
, o processo x11vnc é anexado a um processo -bash
que está anexado ao processo sshd
(aquele que corresponde à sessão ssh).
Então, eu me desconecto da sessão ssh (ctrl + D ou digite exit
no terminal Mac).
O processo x11vnc ainda está em execução: ele foi anexado automaticamente ao processo raiz "1".