Как убить определенный сеанс x11rdp

Я использую x11rdp с xrdp v0.6.0 в Ubuntu 12.04

Проблема в том, что когда я подключаюсь удаленно из дома в офис, моя сессия застревает!

Вернувшись к работе, я не могу открыть приложения, которые уже запущены в сеансе x11rdp. например, Firefox, эмпатия...

Я должен закрыть их, затем я могу снова открыть нужное приложение.

я знаю что могу pkill -u user но кажется непрофессиональным

Я старался sudo service xrdp restart (или остановите, затем начните). Это не закрывает текущие сессии.

Есть ли менеджер сеансов xrdp, как в Windows Server, или я могу убить только сеанс моего пользователя?

3 ответа

Используя команду ниже:

ps u -u "$USER" | awk '/xrdp/ && ! /awk / {system("kill "$2)}'
  • замещать $USER с другим именем пользователя, если процесс запущен с другим пользователем, чем вы
  • замещать xrdp с вашим именем процесса
ps aux | grep <user> | grep -i x11rdp

даст вам идентификатор процесса во втором столбце строки, которая не является вашей grep.

Вы можете тогда

kill -9 <pid>

Чтобы вывести список всех сеансов rdp с соответствующими номерами pid и портов:

{ 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 

затем вы можете убить определенный идентификатор процесса (pid):

$ kill -9 <pid>

Другие вопросы по тегам