আনলক করার পরে কেন হালকা লকার স্ক্রিনটি কালো রাখে?


11

একটি জুবুন্টু ১.0.০৪ পুরোপুরি নতুনভাবে তৈরি হওয়া ব্যবহারকারীদের সাথে আমার পর্দা লক করতে লাইট-লকার ব্যবহার করার পরে আমাকে আনলক করতে দেয় না (লকটি ম্যানুয়ালি বা টাইমআউটের মাধ্যমে সক্রিয় করা থাকলে তা নির্বিশেষে)। পর্দা কালো রয়ে সঠিক পাসওয়ার্ডটি এন্ট্রি উপর (কিন্তু চালিত)

Tty1 থেকে লাইট-লকার হত্যা করলে ডেস্কটপটি প্রকাশিত হবে (এবং ফলস্বরূপ আরও লক করা বাধা দেয়)।

পদক্ষেপের চেষ্টা করা হয়েছে:

  • হালকা-লকার সেটিংসে এবং পাওয়ার সেটিংসে সক্ষম / অক্ষম লক (কোনও পরিবর্তন নেই)
  • লাইট-লকারের পরিবর্তে xscreensaver ব্যবহৃত (কাজ)
  • পরীক্ষা করা হয়েছে যদি সমস্যা স্থগিত বা closingাকনা বন্ধের সাথে সম্পর্কিত হয় (এটি নয়)
    • তবে, স্থগিতের পরে কালো পর্দাটি This session is locked: You will be redirected to the unlock dialog automatically in a few secondsবার্তাটি প্রকাশ করে - কোনও পুনর্নির্দেশ সংঘটিত না করে
  • শুদ্ধ + পুনরায় ইনস্টল করা লাইটডিএম, লাইট-লকার এবং এক্সবুন্টু-ডিফল্ট-সেটিংস
  • ব্যবহারের loginctl unlock-sessionকোনও প্রভাব নেই
  • systemctl status lightdm কোয়াললেট প্যাম মডিউলটি অনুপস্থিত সম্পর্কে কেবল (নিরীহ, প্রত্যাশিত) বার্তা প্রকাশ করে
  • "এটি কাজ করে" এবং "এটি আর কাজ করে না" (সন্দেহজনক নয়) এবং বুটযুক্ত পূর্ববর্তী কার্নেল (ইস্যুটি অব্যাহত থাকে) এর মধ্যে আপগ্রেডগুলির জন্য ডিপি কেজি লগ পরীক্ষা করেছে
  • সেশন-ইনিশিয়েটেড লাইট-লকার এবং ম্যানুয়ালি একটি শুরু করা (কোনও পার্থক্য নেই) এর মধ্যে তুলনামূলক আচরণ
  • ব্যবহারকারীকে গ্রুপ nopasswdloginগ্রুপে যুক্ত করা হয়েছে (কালো পর্দা লক করার পরে ঠিক তখনই ঘটে, কেবল পাসওয়ার্ড দেওয়ার পরে নয়)

এটি কীভাবে ঠিক করা যায় তা নির্ধারণে আরও কী কী পদক্ষেপগুলি কার্যকর প্রমাণিত হতে পারে?

ডিবাগিং লগ:

$ export LC_ALL=C; light-locker --debug & ( sleep 5; echo "## Locking now"; light-locker-command --lock; sleep 10; echo "### 10 seconds have passed - entering password now"; sleep 10; echo "### 10 more seconds have passwd - Killing"; killall light-locker; sleep 5; echo "### Killed now" )  
[1] 23463
[gs_debug_init] gs-debug.c:106 (00:08:32):   Debugging enabled
[main] light-locker.c:142 (00:08:32):    initializing light-locker 1.7.0
[main] light-locker.c:144 (00:08:32):    lock after screensaver 10
[main] light-locker.c:145 (00:08:32):    late locking 0
[main] light-locker.c:146 (00:08:32):    lock on suspend 1
[main] light-locker.c:147 (00:08:32):    lock on lid 0
[main] light-locker.c:148 (00:08:32):    idle hint 1
[query_session_id] gs-listener-dbus.c:2088 (00:08:32):   org.freedesktop.login1.NoSessionForPID raised:
 PID 23463 does not belong to any known session


[init_session_id] gs-listener-dbus.c:2180 (00:08:32):    Got session-id: (null)
[query_sd_session_id] gs-listener-dbus.c:2164 (00:08:32):    Couldn't determine our own sd session id: No such process
[init_session_id] gs-listener-dbus.c:2185 (00:08:32):    Got sd-session-id: (null)
[init_seat_path] gs-listener-dbus.c:2262 (00:08:32):     Got seat: /org/freedesktop/DisplayManager/Seat0
[gs_listener_delay_suspend] gs-listener-dbus.c:449 (00:08:32):   Delay suspend
[gs_listener_x11_acquire] gs-listener-x11.c:172 (00:08:32):  ScreenSaver Registered
[listener_dbus_handle_system_message] gs-listener-dbus.c:1330 (00:08:32):    obj_path=/org/freedesktop/DBus interface=org.freedesktop.DBus method=NameAcquired destination=:1.316
## Locking now
[gs_grab_grab_root] gs-grab-x11.c:647 (00:08:37):    Grabbing the root window
[gs_grab_get_keyboard] gs-grab-x11.c:153 (00:08:37):     Grabbing keyboard widget=E3
[gs_grab_get_mouse] gs-grab-x11.c:213 (00:08:37):    Grabbing mouse widget=E3
[gs_manager_create_windows_for_screen] gs-manager.c:548 (00:08:37):  Creating 1 windows for screen 0
[gs_manager_create_window_for_monitor] gs-manager.c:324 (00:08:37):  Creating window for monitor 0 [0,0] (1600x900)
[update_geometry] gs-window-x11.c:197 (00:08:37):    got geometry for monitor 0: x=0 y=0 w=1600 h=900
[update_geometry] gs-window-x11.c:210 (00:08:37):    using geometry for monitor 0: x=0 y=0 w=1600 h=900
[update_geometry] gs-window-x11.c:197 (00:08:37):    got geometry for monitor 0: x=0 y=0 w=1600 h=900
[update_geometry] gs-window-x11.c:210 (00:08:37):    using geometry for monitor 0: x=0 y=0 w=1600 h=900
[gs_window_move_resize_window] gs-window-x11.c:243 (00:08:37):   Move and/or resize window on monitor 0: x=0 y=0 w=1600 h=900
[update_geometry] gs-window-x11.c:197 (00:08:37):    got geometry for monitor 0: x=0 y=0 w=1600 h=900
[update_geometry] gs-window-x11.c:210 (00:08:37):    using geometry for monitor 0: x=0 y=0 w=1600 h=900
[gs_window_move_resize_window] gs-window-x11.c:243 (00:08:37):   Move and/or resize window on monitor 0: x=0 y=0 w=1600 h=900
[update_geometry] gs-window-x11.c:197 (00:08:37):    got geometry for monitor 0: x=0 y=0 w=1600 h=900
[update_geometry] gs-window-x11.c:210 (00:08:37):    using geometry for monitor 0: x=0 y=0 w=1600 h=900
[gs_window_move_resize_window] gs-window-x11.c:243 (00:08:37):   Move and/or resize window on monitor 0: x=0 y=0 w=1600 h=900
[gs_manager_timed_switch] gs-manager.c:445 (00:08:37):   Start switch to greeter timer
[gs_window_xevent] gs-window-x11.c:369 (00:08:37):   not raising our windows
[window_map_event_cb] gs-manager.c:233 (00:08:37):   Handling window map_event event
[gs_listener_resume_suspend] gs-listener-dbus.c:513 (00:08:37):  Resume suspend: fd=14
[manager_maybe_grab_window] gs-manager.c:204 (00:08:37):     Moving grab to 0x5595f8d5a290
[gs_grab_move_keyboard] gs-grab-x11.c:450 (00:08:37):    Moving keyboard grab from E3 to 3A0000C
[gs_grab_move_keyboard] gs-grab-x11.c:457 (00:08:37):    *** doing X server grab
[gs_grab_release_keyboard] gs-grab-x11.c:279 (00:08:37):     Ungrabbing keyboard
[gs_grab_get_keyboard] gs-grab-x11.c:153 (00:08:37):     Grabbing keyboard widget=3A0000C
[gs_grab_move_keyboard] gs-grab-x11.c:479 (00:08:37):    *** releasing X server grab
[gs_grab_move_mouse] gs-grab-x11.c:395 (00:08:37):   Moving pointer grab from E3 to 3A0000C
[gs_grab_move_mouse] gs-grab-x11.c:402 (00:08:37):   *** doing X server grab
[gs_grab_release_mouse] gs-grab-x11.c:320 (00:08:37):    Ungrabbing pointer
[gs_grab_get_mouse] gs-grab-x11.c:213 (00:08:37):    Grabbing mouse widget=3A0000C
[gs_grab_move_mouse] gs-grab-x11.c:425 (00:08:37):   *** releasing X server grab
[listener_dbus_handle_system_message] gs-listener-dbus.c:1330 (00:08:37):    obj_path=/org/freedesktop/login1 interface=org.freedesktop.DBus.Properties method=PropertiesChanged destination=(null)
[update_geometry] gs-window-x11.c:197 (00:08:37):    got geometry for monitor 0: x=0 y=0 w=1600 h=900
[update_geometry] gs-window-x11.c:210 (00:08:37):    using geometry for monitor 0: x=0 y=0 w=1600 h=900
[gs_window_move_resize_window] gs-window-x11.c:243 (00:08:37):   Move and/or resize window on monitor 0: x=0 y=0 w=1600 h=900
[update_geometry] gs-window-x11.c:197 (00:08:37):    got geometry for monitor 0: x=0 y=0 w=1600 h=900
[update_geometry] gs-window-x11.c:210 (00:08:37):    using geometry for monitor 0: x=0 y=0 w=1600 h=900
[gs_window_move_resize_window] gs-window-x11.c:243 (00:08:37):   Move and/or resize window on monitor 0: x=0 y=0 w=1600 h=900
[gs_listener_send_lock_session] gs-listener-dbus.c:180 (00:08:38):   Send lock session
[listener_dbus_handle_system_message] gs-listener-dbus.c:1330 (00:08:38):    obj_path=(null) interface=(null) method=(null) destination=:1.316
[listener_dbus_handle_system_message] gs-listener-dbus.c:1330 (00:08:39):    obj_path=/org/freedesktop/login1/session/c5 interface=org.freedesktop.DBus.Properties method=PropertiesChanged destination=(null)
[listener_dbus_handle_system_message] gs-listener-dbus.c:1330 (00:08:39):    obj_path=/org/freedesktop/login1/session/c12 interface=org.freedesktop.DBus.Properties method=PropertiesChanged destination=(null)
[listener_dbus_handle_system_message] gs-listener-dbus.c:1330 (00:08:39):    obj_path=/org/freedesktop/login1/seat/seat0 interface=org.freedesktop.DBus.Properties method=PropertiesChanged destination=(null)
process 23463: arguments to dbus_message_new_method_call() were incorrect, assertion "path != NULL" failed in file ../../dbus/dbus-message.c line 1340.
This is normally a bug in some application using the D-Bus library.
[query_session_active] gs-listener-dbus.c:1124 (00:08:39):   Couldn't allocate the dbus message
[listener_dbus_handle_system_message] gs-listener-dbus.c:1361 (00:08:39):    systemd notified ActiveSession 0
[listener_session_switched_cb] gs-monitor.c:298 (00:08:39):  Session switched: 0
[gs_manager_stop_switch] gs-manager.c:456 (00:08:39):    Stop switch to greeter timer
[listener_dbus_handle_system_message] gs-listener-dbus.c:1330 (00:08:39):    obj_path=/org/freedesktop/login1/seat/seat0 interface=org.freedesktop.DBus.Properties method=PropertiesChanged destination=(null)
[listener_dbus_handle_system_message] gs-listener-dbus.c:1330 (00:08:39):    obj_path=/org/freedesktop/login1/session/c12 interface=org.freedesktop.DBus.Properties method=PropertiesChanged destination=(null)
[listener_dbus_handle_system_message] gs-listener-dbus.c:1330 (00:08:39):    obj_path=/org/freedesktop/login1/user/_108 interface=org.freedesktop.DBus.Properties method=PropertiesChanged destination=(null)
[listener_dbus_handle_system_message] gs-listener-dbus.c:1330 (00:08:39):    obj_path=/org/freedesktop/login1/seat/seat0 interface=org.freedesktop.DBus.Properties method=PropertiesChanged destination=(null)
process 23463: arguments to dbus_message_new_method_call() were incorrect, assertion "path != NULL" failed in file ../../dbus/dbus-message.c line 1340.
This is normally a bug in some application using the D-Bus library.
[query_session_active] gs-listener-dbus.c:1124 (00:08:39):   Couldn't allocate the dbus message
[listener_dbus_handle_system_message] gs-listener-dbus.c:1361 (00:08:39):    systemd notified ActiveSession 0
[listener_session_switched_cb] gs-monitor.c:298 (00:08:39):  Session switched: 0
[listener_dbus_handle_system_message] gs-listener-dbus.c:1330 (00:08:39):    obj_path=/org/freedesktop/login1/session/c5 interface=org.freedesktop.login1.Session method=Lock destination=(null)
### 10 seconds have passed - entering password now
[listener_dbus_handle_system_message] gs-listener-dbus.c:1330 (00:08:51):    obj_path=/org/freedesktop/login1/session/c5 interface=org.freedesktop.login1.Session method=Unlock destination=(null)
[listener_dbus_handle_system_message] gs-listener-dbus.c:1330 (00:08:51):    obj_path=/org/freedesktop/login1/session/c13 interface=org.freedesktop.DBus.Properties method=PropertiesChanged destination=(null)
[listener_dbus_handle_system_message] gs-listener-dbus.c:1330 (00:08:51):    obj_path=/org/freedesktop/login1/session/c5 interface=org.freedesktop.DBus.Properties method=PropertiesChanged destination=(null)
[listener_dbus_handle_system_message] gs-listener-dbus.c:1330 (00:08:51):    obj_path=/org/freedesktop/login1/seat/seat0 interface=org.freedesktop.DBus.Properties method=PropertiesChanged destination=(null)
process 23463: arguments to dbus_message_new_method_call() were incorrect, assertion "path != NULL" failed in file ../../dbus/dbus-message.c line 1340.
This is normally a bug in some application using the D-Bus library.
[query_session_active] gs-listener-dbus.c:1124 (00:08:51):   Couldn't allocate the dbus message
[listener_dbus_handle_system_message] gs-listener-dbus.c:1361 (00:08:51):    systemd notified ActiveSession 0
[listener_session_switched_cb] gs-monitor.c:298 (00:08:51):  Session switched: 0
[xroot_filter] gs-listener-x11.c:124 (00:08:52):     ScreenSaver stopped
### 10 more seconds have passwd - Killing
### Killed now

এটি একটি পরিচিত-ভাল সিস্টেমের ফলন থেকে আলাদা হয়:

$ comm -3 <(grep -iv grab good | sed 's/[0-9:]\+/[NN]/g;s/[ \t]\+/ /g' | sort) <(grep -iv grab bad | sed 's/[0-9:]\+/[NN]/g;s/[ \t]\+/ /g' | sort) | head -n2
[init_session_id] gs-listener-dbus.c[NN] ([NN])[NN] Got session-id[NN] (null)
[init_session_id] gs-listener-dbus.c[NN] ([NN])[NN] Got session-id[NN] /org/freedesktop/login[NN]/session/c[NN]

এবং প্রকৃতপক্ষে, কোনও কিছু সেশন সেটআপ সম্পর্কে খুব বিশ্রী বলে মনে হচ্ছে:

$ loginctl session-status
Could not get properties: No such process

1
Hah! আপনি দেখতে পাবেন যে একমাত্র সমাধানটি আমার এবং এটি হ'ল এক্সস্ক্রিনসেভার ব্যবহার করা এবং লাইট-লকারটি মোছা
Fabby

2
light-lockerম্যান পৃষ্ঠায় উল্লিখিত ডিবাগ বিকল্পটি ব্যবহার করে আপনি কি কোনও সুযোগে চালু করার চেষ্টা করেছেন? manpages.ubuntu.com/manpages/xenial/man1/light-locker.1.html
বয়স্ক

1
@ অ্যানেক্স আপনার অনুগ্রহ 5 ঘন্টার মধ্যে হারিয়ে যাবে ... আমাকে আমার মূল উত্তরটির পুনরাবৃত্তি লিখতে চান ? এটি আপনি যা চান তা নয়, তবে আমি একই সময়ে একই সমস্যা পেয়েছিলাম, অনেক ঘন্টা হারিয়েছি এবং কেবলমাত্র xscreensaver এ গিয়েছি (এবং এটি দিয়ে মজা
পেয়েছি

ভাল, আপনি ইতিমধ্যে আপনার অনুগ্রহের 15 পেয়েছেন! আপনার উত্তর আমার চেয়ে ভাল, আপনার প্রশ্ন তাই উভয় upvated!
ফাব্বি

উত্তর:


6

টিএল; ডিআর: সিস্টেমড পড়তে / কিনতে না পারলে লাইট-লকার স্ক্রিনটি কালো রাখে

  • light-lockerউপর নির্ভর করে dbusপ্রদানের IPC
  • dbusতথ্য systemd-logindসরবরাহ উপর নির্ভর করে session
  • systemd-logindতথ্য /procসরবরাহ উপর নির্ভর করে process

অর্থ এটি একসাথে খুব ভাল কাজ করবে না:

$ file /sbin/init
/sbin/init: symbolic link to /lib/systemd/systemd
$ mount | grep proc
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime,hidepid=2,gid=1337)

এবং উভয়ই প্রত্যাশা করা যায় না:

হাইডপিড সিস্টেমডের সাথে সত্যই সামঞ্জস্যপূর্ণ নয়। দুঃখিত। [..] যাইহোক, বন্ধ হওয়ার কারণ এটি সিস্টেমড দ্বারা সৃষ্ট নয়। - লেনার্ট কবিতা

আংশিক সমাধান 1

আংশিক সমাধান, কারণ এটি তথ্য প্রকাশের সাথে আসে।

অপ্রয়োজনীয় প্রোগ্রামগুলিকে (যেমন সিস্টেমড, সুবিধাগুলি বাদ দেওয়ার পরে) অন্যান্য ব্যবহারকারীদের প্রক্রিয়া সম্পর্কিত তথ্য অ্যাক্সেস করার অনুমতি দিন /proc

$ sudo mount -o remount,hidepid=0 /proc
 # and fix /etc/fstab accordingly

আংশিক সমাধান 2

আংশিক সমাধান, কারণ সিস্টেমড কেবল লগইনড নয়, অন্য জায়গায় ভেঙে যেতে পারে।

উপযুক্ত গ্রুপে সিস্টেমড-লগইন্ড যুক্ত করুন, একটি পরিষেবা ড্রপ-ইন যোগ করে সবচেয়ে সুবিধাজনকভাবে অর্জিত হয়েছে।

$ addgroup showpid
$ adduser myuser showpid
$ sudo mount -o remount,hidepid=2,gid=showpid /proc
 # and fix /etc/fstab accordingly
$ echo -e '[Service]\nSupplementaryGroups=showpid' | sudo tee /etc/systemd/system/systemd-logind.service.d/10-showpid.conf
$ sudo systemctl daemon-reload
$ sudo systemctl restart systemd-logind

উভয় সমাধানের পরে , Got session-id: (null)বার্তাটি আরও বেশি দেখতে হবে Got session-id: /org/freedesktop/login1/c7এবং লাইট-লকারের মাধ্যমে সঠিকভাবে যোগাযোগ করতে সক্ষম হবে dbus


আমার কী করা উচিত তাড়াতাড়ি এই পদ্ধতিটি বের করা উচিত?

  • যদি কিছু পরিবর্তিত হয়, এবং কী কী পরিবর্তন হয়েছে তা আপনি দ্রুতই বুঝতে পারবেন না, কেবল ইতিমধ্যে ব্যাকআপটি এবং diff -ruiNপুরো সিস্টেমটি ধরুন।
  • প্রথমবার কোনও সমস্যাটি আরও স্পষ্টভাবে সংঘটিত হওয়ার সাথে সাথে ডকুমেন্ট করুন, সুতরাং লগফাইলে / আইডিএস প্রতিবেদনগুলি যথাসময়ে বাছাই করা দ্রুত সম্পর্কিত কারণটি প্রকাশ করবে।
  • আরও বাগ রিপোর্ট ফাইল করুন। এমন শর্তে নিঃশব্দে ব্যর্থ হওয়া অ্যাপ্লিকেশনগুলি যা পরে মাথাব্যথার কারণ এবং / অথবা সিস্টেম লকআপ গ্রহণযোগ্য নয়।

সুতরাং আপনি কি এই সম্পর্কে কিছু বাগ রিপোর্ট (গুলি) দায়ের করেছেন?
জার্নো
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.