
ユーザーメニューには「ロック」オプションは表示されず、標準のショートカット(Ctrl+LまたはCtrl++)は何もしません。AltL
私はGnome Shell 3.8.3とXDM 1.1.11でFedora 19を実行しています。
GDMのXDMCPサポートが中断されたため、XDMを使用しています。しかし、Fedora 19にアップグレードする前は、XDMを使用してもロックするオプションがありました。
私の研究結果を反映した答えを投稿しました。デフォルトでは、GDMを実行せずにGnome 3.8に画面ロックを統合することは不可能だと言います。
私はより良い答えを望んでいます。したがって、私が見落とした方法がある場合は、自分だけの答えを追加してください。
答え1
いくつかの調査をした後、私は私の質問に答えるのに十分な情報を持っていると思います。
gnome-screensaver
Gnome Shell 3.6以前では、GDMが実行されていないときに呼び出され、gnome-screensaver
画面をロックできる古いプログラムがありました。
Gnome Shell 3.8(Fedora 19に含まれる)以降、gnome-screensaver
サポートは完全に中止されました。これには3つの理由があります。コードの複雑さを減らすために、スクリーンセーバーは不要な機能と見なされ、最終的にWaylandに移動するには、コンポジターでスクリーンセーバー、ロックなどのサポートが必要です。
したがって、画面をロックする唯一のGnome統合方法は、GDMを実行することです。 GDM は画面をロックする dbus メッセージに応答します。他のディスプレイマネージャ(XDMなど)は、このdbusメッセージに応答するように設計されていないため、画面をロックできません。
~からこのリンク:
以前のバージョンのgnomeでは、gnome-screensaver-command -lコマンドを使用して画面をロックします。 gnome-screensaverはgnome 3.8にはもう存在しなくなりましたので、dbus呼び出しを送信する必要があります。私の考えでは、GDMで処理されているようです。
$ dbus-send --type=method_call --dest=org.gnome.ScreenSaver \
/org/gnome/ScreenSaver org.gnome.ScreenSaver.Lock
答え2
Super+ LGnome 3.20を実行しているFedora 24の場合
答え3
これはGnome 3.14で私にとって効果的でした。標準インストール、カスタマイズは必要ありません。
gnome-screensaver-command --lock
答え4
私がdebian、ubuntu、およびrhel7で正常に使用した解決策は、gnomeセッションにログインすると自動的に起動される短いPythonスクリプトを作成することです。 rhel7では、ロックされたキーの組み合わせは次のようになります。スーパー+l。
作る/etc/xdg/autostart/gscreenlock.pyこのように:
#!/usr/bin/python
import dbus
import dbus.service
import dbus.glib
import gobject
import os
class ScreenDbusObj(dbus.service.Object):
def __init__(self):
session_bus = dbus.SessionBus()
bus_name=dbus.service.BusName("org.gnome.ScreenSaver",bus=session_bus)
dbus.service.Object.__init__(self,bus_name, '/org/gnome/ScreenSaver')
@dbus.service.method("org.gnome.ScreenSaver")
def Lock(self):
os.system( "xscreensaver-command -lock" )
if __name__ == '__main__':
object=ScreenDbusObj()
gobject.MainLoop().run()
その後、実行可能にします。
chmod a+rx /etc/xdg/autostart/gscreenlock.py
そして編集する/etc/xdg/autostart/gscreenlock.desktopこのように:
[Desktop Entry]
Type=Application
Encoding=UTF-8
Name=gscreenlock
TryExec=/etc/xdg/autostart/gscreenlock.py
Exec=/etc/xdg/autostart/gscreenlock.py
NoDisplay=true
NotShowIn=XFCE;KDE;
Comment=Allows screen locking in gnome