ログオフした後もプログラムを実行

提供: ArchWiki
ナビゲーションに移動 検索に移動

systemd パッケージはデフォルトでログアウト時にユーザープロセスを終了しないようにビルドされています。Systemd/ユーザー#ログアウト時にユーザープロセスを終了を参照してください。

ログオフ後もプロセスを実行し続ける方法は複数存在します:

X アプリケーション

xmove はもはやメンテナンスされていないため、別の方法を使うと良いでしょう。

第二の X サーバー

以下の内容でスクリプトを作成して chmod で実行可能属性を付与してください (chmod a+x scriptname.sh):

#!/bin/sh

if [ $# -eq 0 ] ; then # check to see if arguments are given (color depth)
    a=24        # default color depth
else
    a=$1        # use given argument
fi

if [ $a -ne 8 -a $a -ne 16 -a $a -ne 24 ] ; then
    echo "Invalid color depth. Use 8, 16, or 24."
    exit 1
fi

for display in 0 1 2 3 4 5 ; do
    if [ ! -f "/tmp/.X$display-lock" ] ; then
        exec startx -- :$display -depth $a -quiet
        exit 0
    fi
done

echo "No displays available."
exit 1

上記のスクリプトを実行すると新しい X サーバーが起動します。アプリケーションを起動して xlock -mode blank でサーバーをロックすることができます (xlock(1) を使うには xlockmore パッケージが必要です)。

一番目の X サーバーでアプリケーションは起動しないでください。

AGP モードなど一部の機能はひとつの X サーバーでしか機能しないため、二番目の X サーバーだけを使用し、一番目の X サーバーはコンピュータの他のユーザーも使用できるようにしてください。

xpra

Xpra を使うことで X プログラムの実行を切断しても続行し、後で再接続することができます。リモートマシンで X プログラムを起動して、ssh でマシンに接続し、切断してから再接続するということが可能になります。

X2Go

X2Go はセッションのサスペンドをサポートしており、他のクライアントから再接続することができます。リモート環境だけでなく、ローカルマシンでも使用できます。