Como encerrar uma sessão x11rdp específica

Como encerrar uma sessão x11rdp específica

Estou usando x11rdp com xrdp v0.6.0 no Ubuntu 12.04

O problema é que quando me conecto remotamente de casa ao escritório minha sessão fica travada!

Quando volto ao trabalho não consigo abrir aplicativos que já estão em execução na sessão x11rdp. por exemplo, Firefox, empatia ...

Tenho que fechá-los para poder abrir o aplicativo necessário novamente.

Eu sei que posso pkill -u user, mas parece pouco profissional

Eu tentei sudo service xrdp restart(ou pare e comece). Não fecha as sessões atuais.

Existe algum gerenciador de sessão xrdp como no servidor Windows ou posso encerrar apenas a sessão do meu usuário?

Responder1

Usando o comando abaixo:

ps u -u "$USER" | awk '/xrdp/ && ! /awk / {system("kill "$2)}'
  • Substitua $USERpor outro nome de usuário se o processo estiver sendo executado com um usuário diferente do seu
  • Substitua xrdppelo nome do seu processo

Responder2

Para fechar sua(s) própria(s) sessão(ões),

pkill -HUP xrdp

deve ser bom o suficiente. (Funciona para mim.)

Responder3

ps aux | grep <user> | grep -i x11rdp

fornecerá o ID do processo na segunda coluna da linha que não é o seu grep.

Você pode então

kill -9 <pid>

Responder4

Para listar todas as sessões RDP com seus respectivos números de pid e porta:

{ echo "user pid Xdisplay port"; { ps -ef | \
  awk '/Xvnc :[[:digit:]]+/ {print $1,$2,$9}' | while read tu tpid tvnc; \
  do sudo netstat -tlpn | awk -v "tpid=${tpid}" '$0 ~ tpid {print $4;}' | \
  sed -r -e 's/^.*://;' -e "s/^/${tu} ${tpid} ${tvnc} /;" ; done ; } | \ 
  sort -k3 ; } | column -c4 -t 

você pode então eliminar o ID do processo específico (pid):

$ kill -9 <pid>

informação relacionada