特定の x11rdp セッションを終了する方法

特定の x11rdp セッションを終了する方法

私はUbuntu 12.04でxrdp v0.6.0とx11rdpを使用しています

自宅からオフィスにリモート接続するとセッションが停止してしまうという問題。

仕事に戻ると、x11rdp セッションですでに実行されているアプリケーションを開くことができません。例: Firefox、empathy...

一度閉じてから、必要なアプリを再度開く必要があります。

できるのは分かっているpkill -u userが、プロフェッショナルではないようだ

試してみましたsudo service xrdp restart(または停止してから開始しました)。現在のセッションは閉じられません。

Windows サーバーのような xrdp セッション マネージャーはありますか? それとも、自分のユーザーのセッションだけを強制終了できますか?

答え1

以下のコマンドを使用します。

ps u -u "$USER" | awk '/xrdp/ && ! /awk / {system("kill "$2)}'
  • $USERプロセスが別のユーザーで実行されている場合は、別のユーザー名に置き換えます
  • xrdpプロセス名に置き換えます

答え2

自分のセッションを閉じるには、

pkill -HUP xrdp

十分なはずです。(私の場合はこれでうまくいきました。)

答え3

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

grep ではない行の 2 番目の列にプロセス ID が表示されます。

その後、

kill -9 <pid>

答え4

すべての 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 

その後、特定のプロセス ID (pid) を強制終了できます。

$ kill -9 <pid>

関連情報