web-dev-qa-db-ja.com

GDMなしでGnome 3で画面をロックするにはどうすればよいですか?

ユーザーメニューに表示される「ロック」オプションはなく、標準のショートカット(Ctrl+L または Ctrl+Alt+L)何もしないでください。

Fedora 19をGnome Shell 3.8.3、およびXDM 1.1.11で実行しています。

GDMでのXDMCPサポートが壊れているため、XDMを使用していますが、Fedora 19にアップグレードする前は、XDMを使用している場合でもロックオプションがありました。

自分の研究結果を反映した回答を掲載しました。基本的に、GDMを実行せずにGnome 3.8に画面ロックを統合することは不可能であると述べています。

私はもっ​​と良い答えが利用できることを本当に望んでいます-私が見落としたこれを行う方法がある場合はあなた自身の答えを追加してください。

52
jcsanyi

いくつか調査した結果、自分の質問に対する回答を投稿するのに十分な情報が得られたと思います。

Gnome Shell 3.6以前では、古いgnome-screensaverプログラムが存在し、GDMが実行されていない場合は、gnome-screensaverが呼び出されます-画面をロックできます。

Gnome Shell 3.8(Fedora 19に含まれる)以降、gnome-screensaverサポートが完全に削除されました。これは、3つの理由で行われました。コードの複雑さが軽減され、スクリーンセーバーが不要な機能と見なされること、および最終的にWaylandに移動するには、スクリーンセーバーやロックなどのサポートがコンポジターに必要であることです。

したがって、画面をロックする唯一のGnome統合方法は、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
41
jcsanyi

Super+L Gnome 3.20を実行しているFedora 24で動作します

18
sysadmiral

これはGnome 3.14で私にとってはうまくいきます。標準インストール、カスタマイズなし。

gnome-screensaver-command --lock
15
0__

Xscreensaver(Debian)を使用してGnome Shell(3.14)で画面ロックを有効にする方法:

(注:gnome-screensaverパッケージは現在Debian sidに存在しますが、使用できないようです)

  1. xscreensaverパッケージ(およびオプションでxscreensaver-dataおよびxscreensaver-data-extra)をインストールします。
  2. xscreensaverを実行して、スクリーンセーバーを希望どおりに構成します。必ず「0分後に画面をロック」を選択してください。
  3. GNOMEキーボード設定で、[ショートカット]タブを選択し、[カスタムショートカット]を選択します。
  4. +ボタンをクリックし、名前に「xscreensaver-command -l」をコマンドとして入力します。 OKをクリックします。
  5. [無効]をクリックし、画面をロックするキーの組み合わせを入力します(私はCtrl-Alt-Lです)。これが「システム」の下のGDM「ロック画面」ショートカットと競合しないことを確認してください。
  6. ロック可能な画面をお楽しみください。

警告:通知ポップアップは引き続きロックされた画面上に表示されます。これが問題である場合、 LightDM Lock Screen 拡張子のような別の解決策を見つける必要があります。

10
Joel Cross

私がdebian、ubuntu、およびrhel7で正常に使用した回避策は、gnomeセッションにログインすると自動的に開始される短いpythonスクリプトを作成します。rhel7では、ロックするキーの組み合わせは- super + 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
4
aseq

@jcsanyiは、それがどのように機能するかの背景の説明を与えました。

さまざまな理由(たとえば このバグ )でGDM3を使用できず、LigthDMに切り替えた人のために、画面をロックするために使用できるコマンドがあります(おそらく他のデバイスで動作する可能性があります) DMあまりにも、私はチェックしていません):

dm-toolロック

より便利にするには、このようにsettings -> Keyboard -> Scroll to the bottom -> Click "+" button -> Create new custom shortcut using the command aboveにアクセスしてください。

enter image description here

Super+Lの組み合わせを使用するには、既存のシステムのLock screenショートカットを他の組み合わせに再割り当てする必要があります。

2
Johnny Doe

この回答はFedora 30 GNOME 3.32.2に基づいています

Linuxデスクトップの場合、通常、画面をロックするためのデフォルトのショートカットキーはSuper-LまたはCtrl-Alt-Lです。しかし、それらが機能しない場合があり、画面をロックする方法が見つからないことがあります。これは、マシンが現在実行しているディスプレイマネージャーに関係しています。 $ systemctl status display-managerを実行して確認できます。 gdmが表示されている場合、デフォルトのショートカットはGDM-GNOME Display Managerによって処理されるため、機能するはずです。 lightdmsddmlxdmkdmxdmなどの他のタイプのディスプレイマネージャーがあります。これらのいずれかを実行している場合、デフォルトのショートカットが機能しない可能性があります。ただし、$ dm-tool lockを実行することにより、いつでもロックを試行できます。ロックが機能する場合は、このコマンドのカスタムショートカットを追加できます。たとえば、lightdmからgdmに、別のディスプレイマネージャーに切り替えたい場合は、以下のようにします。

$ dnf install gdm
$ systemctl disable lightdm
$ systemctl enable gdm
$ reboot
2
Ivan Huang

画面ロックはGNOME 3.8までgnome-screensaverによって処理されていました。アプリケーションはGNOMEチームによって非推奨になり、その機能はgnome-Shell、gnome-session、およびGDMに分割されました。

物事をうまく動かしたいだけなら、 xscreensaver を使用するとうまくいくかもしれません。

2
slm

GDMがなくても、i3lockたとえば、これはかなりミニマリストです。パッケージマネージャーからインストールできる必要があります。これは私がやったことです:

  1. 作成/usr/bin/blurlock、それを実行可能にします。これは、以下を含むシェルスクリプトです。
#!/bin/bash
# /usr/bin/blurlock

# take screenshot
import -window root /tmp/screenshot.png

# blur it, grayscale it, delete tempfiles
convert /tmp/screenshot.png -scale 5% -scale 2000% -colorspace Gray /tmp/screenshotblur.png && rm /tmp/screenshot.png && i3lock -i /tmp/screenshotblur.png && rm /tmp/screenshotblur.png

exit 0
  1. 呼び出し/usr/bin/blurlock Gnomeの[Keyboard Shortcuts]に移動してキーバインドを行い、そのコマンドに必要なものをバインドします(私は CTRL+ALT+L)。
0
pzkpfw

デフォルトのショートカットはShift+Ctrl+Alt+Lock

これを見つけ、「キーボード」アプリの「ショートカット」タブを使用して編集できます。

0

私は、GNOME Shellバージョン3.30とLightdmを使用して、Debianバスターで動作する回避策を見つけました。これが何かを壊すかどうかはわかりませんが、異常なことに気づいていません。

  1. パッケージをインストールcinnamon-screensaver
  2. 追加 /usr/bin/cinnamon-screensaver起動アプリケーションへ
  3. コマンドのキーボードショートカットを作成します:cinnamon-screensaver-command -l
0
yigitdnz