ブログ - macOSで,リモートからコマンドでGUIをログアウトする
普段,Apple Remote Desktopでログインしているが何かしらのソフトウェアサービスが暴走していて下さいGUI操作ができない場合でも,電源ボタン長押し不要で現在のユーザをログアウトできれば復活できるかもしれない.
なお,前提としてsshでリモート接続できる環境でrootユーザに切り替えられる必要があるのと,ほぼ強制ログアウトなので保存してないファイルは救われないかもしれない.
まず,sshで接続してrootユーザにスイッチし,UIDを取得する.
この場合はserverというユーザIDでログインして,UIDが382だとわかる.
launchctlコマンドでログアウトさせる.
これでログアウトが動作し始める.うまくいけば,GUIアプリでプロセスが終了し始めるので,運が良ければファイルが保存できるかもしれない.
なお,前提としてsshでリモート接続できる環境でrootユーザに切り替えられる必要があるのと,ほぼ強制ログアウトなので保存してないファイルは救われないかもしれない.
まず,sshで接続してrootユーザにスイッチし,UIDを取得する.
sh-3.2# ps -Ajc | grep loginwindow🆑
server 382🈁 1 382 0 0 Ss ?? 0:00.91 loginwindow
sh-3.2#
launchctlコマンドでログアウトさせる.
sh-3.2# sudo launchctl bootout user/382🆑
sh-3.2#