From: Paul M. <pau...@us...> - 2012-10-07 18:51:43
Attachments:
signature.asc
|
Date: Sat, 29 Sep 2012 08:56:39 +0200 Currently `lxlock` does not work (in Debian) if only GNOME Screensaver is installed, since the daemon is only started if GNOME is running. $ grep OnlyShowIn /usr/share/gnome/autostart/gnome-screensaver.desktop OnlyShowIn=GNOME; Therefore determine if `gnome-screensaver` is installed/available and just execute it. If an instance is already running for some reason, the process will exit. So it is certain, that GNOME Screensaver is running. Now the command to lock the screen can be executed. -- Understanding more of the configuration options, it looks like the session is supposed to start the screensaver process. So this patch might be useless after all. 1. Unfortunately `gnome-screensaver` does not start up fast enough and starting it in the background it returns right away before accepting commands from `gnome-screensaver-command`. In #gnome on irc.gnome.org phako suggested to look if the bus has been taken and gave the following examples. α) dbus-send --session --print-reply --dest=org.freedesktop.DBus / org.freedesktop.DBus.ListNames | grep org.gnome.ScreenSaver β) dbus-send --session --print-reply --dest=org.freedesktop.DBus / org.freedesktop.DBus.GetNameOwner string:org.gnome.ScreenSaver γ) gnome-screensaver-command -q But they do not give a return code. 2. I am not sure why this works with `xscreensaver` if `xscreensaver-command` does not start XScreensaver. Looking at the Debian implementation, xscreensaver gets started by `/etc/xdg/lxsession/LXDE/autostart`. 3. The Debian package `lxde-core` can now be adapted to suggest `xscreensaver | gnome-screensaver`. --- lxlock | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/lxlock b/lxlock index 447aa9a..9a847bb 100644 --- a/lxlock +++ b/lxlock @@ -20,13 +20,6 @@ PATH=/bin:/usr/bin export PATH for lock_cmd in \ - "xscreensaver-command -lock" \ - "gnome-screensaver-command --lock" -do - $lock_cmd >/dev/null 2>&1 && exit -done - -for lock_cmd in \ "slock" \ "xlock -mode blank" do @@ -37,4 +30,17 @@ do fi done +for lock_cmd in \ + "xscreensaver-command -lock" +do + $lock_cmd >/dev/null 2>&1 && exit +done + +lock_prog="gnome-screensaver" +lock_cmd="gnome-screensaver-command --lock" +if command -v -- $lock_prog >/dev/null 2>&1; then + $lock_prog & # It does not matter if it is already running. + $lock_cmd >/dev/null 2>&1 && exit +fi + exit 1 -- 1.7.10.4 |
From: Julien L. <gi...@ub...> - 2012-10-30 12:48:20
|
Thanks for the patch, applied to git. But someone with gnome-screensaver should check if it's working properly with lxsession git now. Regards, Julien Lavergne Le 07/10/2012 20:51, Paul Menzel a écrit : > Date: Sat, 29 Sep 2012 08:56:39 +0200 > > Currently `lxlock` does not work (in Debian) if only GNOME Screensaver > is installed, since the daemon is only started if GNOME is running. > > $ grep OnlyShowIn /usr/share/gnome/autostart/gnome-screensaver.desktop > OnlyShowIn=GNOME; > > Therefore determine if `gnome-screensaver` is installed/available and > just execute it. If an instance is already running for some reason, the > process will exit. So it is certain, that GNOME Screensaver is running. > > Now the command to lock the screen can be executed. > -- > Understanding more of the configuration options, it looks like the > session is supposed to start the screensaver process. So this patch > might be useless after all. > > 1. Unfortunately `gnome-screensaver` does not start up fast enough and > starting it in the background it returns right away before accepting > commands from `gnome-screensaver-command`. In #gnome on irc.gnome.org > phako suggested to look if the bus has been taken and gave the following > examples. > > ?) dbus-send --session --print-reply --dest=org.freedesktop.DBus / org.freedesktop.DBus.ListNames | grep org.gnome.ScreenSaver > ?) dbus-send --session --print-reply --dest=org.freedesktop.DBus / org.freedesktop.DBus.GetNameOwner string:org.gnome.ScreenSaver > ?) gnome-screensaver-command -q > > But they do not give a return code. > > 2. I am not sure why this works with `xscreensaver` if > `xscreensaver-command` does not start XScreensaver. > > Looking at the Debian implementation, xscreensaver gets started by > `/etc/xdg/lxsession/LXDE/autostart`. > > 3. The Debian package `lxde-core` can now be adapted to suggest > `xscreensaver | gnome-screensaver`. > --- > lxlock | 20 +++++++++++++------- > 1 file changed, 13 insertions(+), 7 deletions(-) > > diff --git a/lxlock b/lxlock > index 447aa9a..9a847bb 100644 > --- a/lxlock > +++ b/lxlock > @@ -20,13 +20,6 @@ PATH=/bin:/usr/bin > export PATH > > for lock_cmd in \ > - "xscreensaver-command -lock" \ > - "gnome-screensaver-command --lock" > -do > - $lock_cmd >/dev/null 2>&1 && exit > -done > - > -for lock_cmd in \ > "slock" \ > "xlock -mode blank" > do > @@ -37,4 +30,17 @@ do > fi > done > > +for lock_cmd in \ > + "xscreensaver-command -lock" > +do > + $lock_cmd >/dev/null 2>&1 && exit > +done > + > +lock_prog="gnome-screensaver" > +lock_cmd="gnome-screensaver-command --lock" > +if command -v -- $lock_prog >/dev/null 2>&1; then > + $lock_prog & # It does not matter if it is already running. > + $lock_cmd >/dev/null 2>&1 && exit > +fi > + > exit 1 > > > ------------------------------------------------------------------------------ > Don't let slow site performance ruin your business. Deploy New Relic APM > Deploy New Relic app performance management and know exactly > what is happening inside your Ruby, Python, PHP, Java, and .NET app > Try New Relic at no cost today and get our sweet Data Nerd shirt too! > http://p.sf.net/sfu/newrelic-dev2dev > > > _______________________________________________ > Lxde-list mailing list > Lxd...@li... > https://lists.sourceforge.net/lists/listinfo/lxde-list |
From: Paul M. <pau...@us...> - 2012-10-30 13:13:28
Attachments:
signature.asc
|
Dear Julien, Am Dienstag, den 30.10.2012, 13:48 +0100 schrieb Julien Lavergne: > Thanks for the patch, applied to git. But someone with > gnome-screensaver should check if it's working properly with lxsession > git now. thank you for your response. Unfortunately I think, in the current form it is not optimal, as the user has to click twice on the lock symbol. Also being more familiar now with the configuration, I found how it works with Xscreensaver. LXDE is told to start it in lxsession(?) I believe. So people wanting to use GNOME Screensaver need to adapt this file. The best thing would be some alternative system, where there is some symlink on the installed screensaver. But I guess that is distribution dependent. Thanks, Paul |
From: Julien L. <gi...@ub...> - 2012-10-30 16:07:18
|
Le 30/10/2012 14:13, Paul Menzel a écrit : > The best thing would be some alternative system, where there is some > symlink on the installed screensaver. But I guess that is distribution > dependent. Actually, as Stephan said, the best option will be to use xdg-screensaver, and maybe fall-back to lxlock if it's not working. I'll try to work a bit more on this later. Regards, Julien Lavergne |
From: Stephan S. <gma...@sp...> - 2012-10-30 13:27:31
|
Might it be better to instead use `xdg-screensaver lock` and submit patches for the interaction between that script and various screensaver systems as necessary? Seems like we're overdue for a solution that Just Works™. On 12-10-30 09:13 AM, Paul Menzel wrote: > Dear Julien, > > > Am Dienstag, den 30.10.2012, 13:48 +0100 schrieb Julien Lavergne: >> Thanks for the patch, applied to git. But someone with >> gnome-screensaver should check if it's working properly with lxsession >> git now. > > thank you for your response. > > Unfortunately I think, in the current form it is not optimal, as the > user has to click twice on the lock symbol. > > Also being more familiar now with the configuration, I found how it > works with Xscreensaver. LXDE is told to start it in lxsession(?) I > believe. So people wanting to use GNOME Screensaver need to adapt this > file. > > The best thing would be some alternative system, where there is some > symlink on the installed screensaver. But I guess that is distribution > dependent. > > > Thanks, > > Paul > > > > ------------------------------------------------------------------------------ > Everyone hates slow websites. So do we. > Make your web apps faster with AppDynamics > Download AppDynamics Lite for free today: > http://p.sf.net/sfu/appdyn_sfd2d_oct > > > |
From: Paul M. <pau...@us...> - 2012-10-30 13:45:16
Attachments:
signature.asc
|
Am Dienstag, den 30.10.2012, 09:27 -0400 schrieb Stephan Sokolow: > Might it be better to instead use `xdg-screensaver lock` and submit > patches for the interaction between that script and various screensaver > systems as necessary? Ah, I did not know about this. That sounds like the best solution. > Seems like we're overdue for a solution that Just Works™. Until I tried it (under awesome) on my Debian Sid/unstable system. $ xdg-screensaver lock ERROR: Unknown command 'lock' $ echo $? 4 That seems to be a Debian problem though and using `xdg-screensaver` should be implemented nevertheless. Thanks, Paul PS: Hmm, I know I am new on this list. Does the netiquette [1] apply here too in regards of interleaved reply style? [1] http://en.opensuse.org/openSUSE:Mailing_list_netiquette |
From: Martin B. / b. <br...@bs...> - 2012-10-30 13:50:42
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 On 2012-10-30 14:44, Paul Menzel wrote: > PS: Hmm, I know I am new on this list. Does the netiquette [1] > apply here too in regards of interleaved reply style? Yes. - -- brother http://sis.bthstudent.se -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.12 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iQEcBAEBCAAGBQJQj9sjAAoJEJbdSEaj0jV7iOsIAJEgvR6p2JfeTfaElYhIpwpq MPoQ7eM+7W8xGs4X1hOcagG2QnX52e07omOgBXCzwE4bXsLDK8XelGCttn0KoRUz g14LFjq7C1kBrKXbc5jAP7tiwD94eDTscM80eLNF4HoplNkd+RUIDLRC0VSq8Rz4 3TwbyLrASUk3n1s4FKwZD9M6JCbp1VCAmDiU6/oM2okLjjlX3N9Vqvy8jfegJc4y 5DxeejBWNbDTp7YnWCBZ5UdKmpPGxkAfiRvur6Hxetjx+s6qOHBMMfk7ClQc0r7O TMW+rUbWHrtevDQ1PtmnwGGceEoS3ZGDGKwGlgUkB/CEn8/LKoGsFifyXoRprqM= =C/Fp -----END PGP SIGNATURE----- |