You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* csd version 5.6.0-1
* Distribution - Arch
* Graphics hardware (from `glxinfo -B`): Mesa Intel(R) HD Graphics 3000 (SNB GT2) (0x126) / Version: 22.3.1
* Graphics driver (from `sudo lshw -C display`): driver=i915
* 64 bit
Issue
I am using the cinnamon-screensaver outside of Cinnamon - in this case together with Xfce.
It is possible to set a custom command line that is used to lock the screen in Xfce, however the xfce4-power-manager currently prefers a D-Bus interface over this and prioritises /org/freedesktop/ScreenSaver over most other interfaces if it's available. There is a patch that resolves this whithin the xfce4-power-manager by falling back to the user-set command line if the D-Bus command fails. The patch has been merged and released with xfce4-power-manager version 4.18.1 so i consider my use-case to be solved.
Yet, i was wondering:
The csd-screensaver-proxy daemon provides the /org/freedesktop/ScreenSaver interface. To my understanding, it's possible to call the inhibit methods under this interface and the proxy will inform the cinnamon-screensaver accordingly. However, the Lock() or SetActive() methods are declared but not implemented and calls to them throw an error. The same behavior can be observed with GNOME's gsd-screensaver-proxy as well, while KDE Plasma supports locking the screen by calling org.freedesktop.ScreenSaver.Lock() and .SetActive() (source code and relevant message on their mailing list).
Are Cinnamon and GNOME strictly adhering to the existing specification? According to my research that would be just the idle-inhibit-spec.
Using the xscreensaver together with Xfce creates the same issue as well (or at least did so in the past). Here's a rundown of that discussion between Xfce and xscreensaver devs on the topic, covering the things i've laid out in this paragraph.
At a first glance, it seems to be quite useful to have this generic entry point which appears to be an unspecified but possible de-facto standard among Linux desktops. To my understanding, the underlying Lock() and SetActive() methods implemented under the DE-specific screensaver interfaces are already compatible across the board and all it would take to bridge the gap would be exposing these methods at the common /org/freedesktop/ScreenSaver interface path as well.
What is the intended feature set the csd-screensaver-proxy is supposed to provide whithin the /org/freedesktop/ScreenSaver interface?
Do you see any value in implementing any functionality that may be non-specified but provides more interoperability?
What are reasons that could speak against this?
I am aware that using the cinnamon-screensaver independent of Cinnamon itself is not a supported use case. I am aware that just because KDE does it does not mean that anybody else has to.
Steps to reproduce
Set up a Desktop Environment other than Cinnamon, for example Xfce
Install the cinnamon-screensaver
Ensure that the csd-screensaver-proxy is autostarted by the DE. Reboot or log out and back in again if necessary.
Try to lock the screen via some method at the /org/freedesktop/ScreenSaver D-Bus interface. Either use d-feet to do this manually or use the xfce4-power-manager up to version 4.18.0 when configured to lock the screen while handling power events like hibernate, suspend or closing the laptop lid.
Expected behavior
The csd-screensaver-proxy forwards the D-Bus call from org.freedesktop.ScreenSaver.Lock to org.cinnamon.ScreenSaver.Lock and the cinnamon-screensaver locks the screen.
The text was updated successfully, but these errors were encountered:
Issue
I am using the
cinnamon-screensaver
outside of Cinnamon - in this case together with Xfce.It is possible to set a custom command line that is used to lock the screen in Xfce, however the
xfce4-power-manager
currently prefers a D-Bus interface over this and prioritises/org/freedesktop/ScreenSaver
over most other interfaces if it's available. There is a patch that resolves this whithin thexfce4-power-manager
by falling back to the user-set command line if the D-Bus command fails. The patch has been merged and released withxfce4-power-manager
version4.18.1
so i consider my use-case to be solved.Yet, i was wondering:
The
csd-screensaver-proxy
daemon provides the/org/freedesktop/ScreenSaver
interface. To my understanding, it's possible to call the inhibit methods under this interface and the proxy will inform thecinnamon-screensaver
accordingly. However, theLock()
orSetActive()
methods are declared but not implemented and calls to them throw an error. The same behavior can be observed with GNOME'sgsd-screensaver-proxy
as well, while KDE Plasma supports locking the screen by callingorg.freedesktop.ScreenSaver.Lock()
and.SetActive()
(source code and relevant message on their mailing list).Are Cinnamon and GNOME strictly adhering to the existing specification? According to my research that would be just the idle-inhibit-spec.
Using the
xscreensaver
together with Xfce creates the same issue as well (or at least did so in the past). Here's a rundown of that discussion between Xfce and xscreensaver devs on the topic, covering the things i've laid out in this paragraph.At a first glance, it seems to be quite useful to have this generic entry point which appears to be an unspecified but possible de-facto standard among Linux desktops. To my understanding, the underlying
Lock()
andSetActive()
methods implemented under the DE-specific screensaver interfaces are already compatible across the board and all it would take to bridge the gap would be exposing these methods at the common/org/freedesktop/ScreenSaver
interface path as well.csd-screensaver-proxy
is supposed to provide whithin the/org/freedesktop/ScreenSaver
interface?I am aware that using the
cinnamon-screensaver
independent of Cinnamon itself is not a supported use case. I am aware that just because KDE does it does not mean that anybody else has to.Steps to reproduce
cinnamon-screensaver
csd-screensaver-proxy
is autostarted by the DE. Reboot or log out and back in again if necessary./org/freedesktop/ScreenSaver
D-Bus interface. Either used-feet
to do this manually or use thexfce4-power-manager
up to version 4.18.0 when configured to lock the screen while handling power events like hibernate, suspend or closing the laptop lid.Expected behavior
The
csd-screensaver-proxy
forwards the D-Bus call fromorg.freedesktop.ScreenSaver.Lock
toorg.cinnamon.ScreenSaver.Lock
and thecinnamon-screensaver
locks the screen.The text was updated successfully, but these errors were encountered: