xfce4-session issueshttps://gitlab.xfce.org/xfce/xfce4-session/-/issues2023-05-22T17:15:59Zhttps://gitlab.xfce.org/xfce/xfce4-session/-/issues/148xflock4 has no usage/man page, "xflock4 -h" doesn't work2023-05-22T17:15:59Zdrws rwxxflock4 has no usage/man page, "xflock4 -h" doesn't workEven though `xflock4` appears to not have any additional options that should be stated in its usage/man page, which appears to not exist. Even if no proper manpage is written, `xflock -h` should return some description rather than actual...Even though `xflock4` appears to not have any additional options that should be stated in its usage/man page, which appears to not exist. Even if no proper manpage is written, `xflock -h` should return some description rather than actually lock the screen.
Also, if an option is not implemented, `xflock4` should complain about unknown argument and not just execute the action as it does now.4.19.1Gaël BonithonGaël Bonithonhttps://gitlab.xfce.org/xfce/xfce4-session/-/issues/147Blank screen while starting Xorg session from startxfce4 w/ argument :DISPLAY...2023-05-18T15:46:37ZcyrantBlank screen while starting Xorg session from startxfce4 w/ argument :DISPLAY > 0# How to reproduce.
0. System: Arch Linux 5.19.13, xorg-xinit 1.4.1, xfce4-session 4.16.0
1. Remove a Display Manager.
2. Remove a `~/.xinitrc` and `~/.xserverrc`.
3. Run `exec startxfce4 -- :1` on VT console login.
# Solution.
The wr...# How to reproduce.
0. System: Arch Linux 5.19.13, xorg-xinit 1.4.1, xfce4-session 4.16.0
1. Remove a Display Manager.
2. Remove a `~/.xinitrc` and `~/.xserverrc`.
3. Run `exec startxfce4 -- :1` on VT console login.
# Solution.
The wrong order for `xinit` arguments in `scripts/startxfce4.in`:
`SERVERRC="vt$XDG_VTNR $SERVERRC"` **must be** `SERVERRC="$SERVERRC vt$XDG_VTNR"`
Because of, `SERVERRC` may contain DISPLAY argument, and [xinit](https://gitlab.freedesktop.org/xorg/app/xinit/-/blob/master/xinit.c) requires this one in very strict position:
> xinit [ [ client ] options ... ] [ -- [ server ] [ display ] options ... ]4.18.3Gaël BonithonGaël Bonithonhttps://gitlab.xfce.org/xfce/xfce4-session/-/issues/111[PATCH] Avoid duplicating directories in the tail of $XDG_* envs2023-02-06T15:40:20Zmikhailnov[PATCH] Avoid duplicating directories in the tail of $XDG_* envsExample input: `XDG_CONFIG_DIRS="/etc/xdg/rosa-xfce-config:/etc/xdg"`
Output before this patch: `XDG_CONFIG_DIRS="/etc/xdg/rosa-xfce-config:/etc/xdg:/etc/xdg"`
But there is no need to duplicate `/etc/xdg` in the tail.
Output after thi...Example input: `XDG_CONFIG_DIRS="/etc/xdg/rosa-xfce-config:/etc/xdg"`
Output before this patch: `XDG_CONFIG_DIRS="/etc/xdg/rosa-xfce-config:/etc/xdg:/etc/xdg"`
But there is no need to duplicate `/etc/xdg` in the tail.
Output after this patch: `XDG_CONFIG_DIRS="/etc/xdg/rosa-xfce-config:/etc/xdg"`
The scripts that sets XDG_CONFIG_DIRS: https://abf.io/soft/rosa-xfce-config/blob/04b69c389d/profile.d/10-rosa-xfce-config-xdg.sh
Tests for that script: https://abf.io/soft/rosa-xfce-config/blob/04b69c389d/profile.d/test_10-rosa-xfce-config-xdg.sh
I do not see why that my script must not append "/etc/xdg", so fixing startxfce4.
This case-esac code is compatible with POSIX shell (https://stackoverflow.com/a/2830416), but tested it only with bash.
Diff is bellow, `git am`-able patch is attached.
[0001-Avoid-duplicating-directories-in-the-tail-of-XDG_-en.patch](/uploads/0bc30b33b3dcd9b7387cec7d1fb77beb/0001-Avoid-duplicating-directories-in-the-tail-of-XDG_-en.patch)
```diff
diff --git a/scripts/startxfce4.in b/scripts/startxfce4.in
index bf3201b6..b20a9cf4 100644
--- a/scripts/startxfce4.in
+++ b/scripts/startxfce4.in
@@ -72,7 +72,11 @@ then
XDG_DATA_DIRS="@_datadir_@:/usr/local/share:/usr/share"
fi
else
- XDG_DATA_DIRS="$XDG_DATA_DIRS:@_datadir_@"
+ # avoid duplicating @_datadir_@ if $XDG_DATA_DIRS already contains it
+ case "$XDG_DATA_DIRS" in
+ *:@_datadir_@ | @_datadir_@ ) : ;;
+ * ) XDG_DATA_DIRS="$XDG_DATA_DIRS:@_datadir_@" ;;
+ esac
fi
export XDG_DATA_DIRS
@@ -84,7 +88,11 @@ then
XDG_CONFIG_DIRS="/etc/xdg:@_sysconfdir_@/xdg"
fi
else
- XDG_CONFIG_DIRS="$XDG_CONFIG_DIRS:@_sysconfdir_@/xdg"
+ # avoid duplicating @_sysconfdir_@/xdg if $XDG_CONFIG_DIRS already contains it
+ case "$XDG_CONFIG_DIRS" in
+ *:@_sysconfdir_@/xdg | @_sysconfdir_@/xdg ) : ;;
+ * ) XDG_CONFIG_DIRS="$XDG_CONFIG_DIRS:@_sysconfdir_@/xdg" ;;
+ esac
fi
export XDG_CONFIG_DIRS
```4.18.1mikhailnovmikhailnovhttps://gitlab.xfce.org/xfce/xfce4-session/-/issues/50"/usr/share" appears two times in XDG_DATA_DIRS; "/etc/xdg" appears two times...2023-02-06T15:26:28ZBugzilla Migration"/usr/share" appears two times in XDG_DATA_DIRS; "/etc/xdg" appears two times in XDG_CONFIG_DIRS.## Submitted by ngh..@..box.eu
Assigned to **Xfce Bug Triage**
**[Link to original bug (#14546)](https://bugzilla.xfce.org/show_bug.cgi?id=14546)**
## Description
$ uname -a
Linux xx 4.15.0-23-generic #25-Ubuntu SMP Wed May 23 18:...## Submitted by ngh..@..box.eu
Assigned to **Xfce Bug Triage**
**[Link to original bug (#14546)](https://bugzilla.xfce.org/show_bug.cgi?id=14546)**
## Description
$ uname -a
Linux xx 4.15.0-23-generic #25-Ubuntu SMP Wed May 23 18:02:16 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
```sh
$ echo $XDG_DATA_DIRS |tr : '\n'
/usr/share/xubuntu
/usr/share/xfce4
/usr/local/share
/usr/share
/var/lib/snapd/desktop
/usr/share <<<<< SECOND TIME
```
```sh
$ echo $XDG_CONFIG_DIRS |tr : '\n'
/etc/xdg/xdg-xubuntu
/etc/xdg
/etc/xdg <<<<< SECOND TIME
```
I have tried to repair startxfce4:
```diff
$ diff -u /usr/bin/startxfce4 ~/temp/startxfce4
--- /usr/bin/startxfce4 2018-07-20 19:07:26.000000000 +0200
+++ /home/x/temp/startxfce4 2018-07-20 19:12:33.000000000 +0200
@@ -64,28 +64,12 @@
BASEDIR="$XDG_CONFIG_HOME/xfce4"
fi
-if test "x$XDG_DATA_DIRS" = "x"
-then
- if test "x/usr/share" = "x/usr/local/share" -o "x/usr/share" = "x/usr/share"; then
- XDG_DATA_DIRS="/usr/local/share:/usr/share"
- else
- XDG_DATA_DIRS="/usr/share:/usr/local/share:/usr/share"
- fi
-else
- XDG_DATA_DIRS="$XDG_DATA_DIRS:/usr/share"
-fi
+test -z "$XDG_DATA_DIRS" && XDG_DATA_DIRS=/usr/local/share:/usr/share
+x=":$XDG_DATA_DIRS:" && test "${x##*:/usr/share:*}" && XDG_DATA_DIRS="$XDG_DATA_DIRS:/usr/share"
export XDG_DATA_DIRS
-if test "x$XDG_CONFIG_DIRS" = "x"
-then
- if test "x/etc" = "x/etc"; then
- XDG_CONFIG_DIRS="/etc/xdg"
- else
- XDG_CONFIG_DIRS="/etc/xdg:/etc/xdg"
- fi
-else
- XDG_CONFIG_DIRS="$XDG_CONFIG_DIRS:/etc/xdg"
-fi
+test -z "$XDG_CONFIG_DIRS" && XDG_CONFIG_DIRS="/etc/xdg"
+x=":$XDG_CONFIG_DIRS:" && test "${x##*:/etc/xdg:*}" && XDG_CONFIG_DIRS="$XDG_CONFIG_DIRS:/etc/xdg"
export XDG_CONFIG_DIRS
if test "x$DISPLAY" = "x"
```
`$ sudo cp ~/temp/startxfce4 /usr/bin/startxfce4`
--rebooting--
O.K.:
```sh
$ echo $XDG_DATA_DIRS |tr : '\n'
/usr/share/xubuntu
/usr/share/xfce4
/usr/local/share
/usr/share
/var/lib/snapd/desktop
$ echo $XDG_CONFIG_DIRS |tr : '\n'
/etc/xdg/xdg-xubuntu
/etc/xdg
```
Version: Unspecifiedhttps://gitlab.xfce.org/xfce/xfce4-session/-/issues/17Xflock4 doesn't know about proper lockers2023-01-27T18:51:10ZBugzilla MigrationXflock4 doesn't know about proper lockers## Submitted by sor..@..owr.ru
Assigned to **Steve Dodier-Lazaro**
**[Link to original bug (#10217)](https://bugzilla.xfce.org/show_bug.cgi?id=10217)**
## Description
Created attachment 5088
Removes gnome-screensaver, adds mate-sc...## Submitted by sor..@..owr.ru
Assigned to **Steve Dodier-Lazaro**
**[Link to original bug (#10217)](https://bugzilla.xfce.org/show_bug.cgi?id=10217)**
## Description
Created attachment 5088
Removes gnome-screensaver, adds mate-screensaver, cinnamon-screensaver, i3lock
Xflock4 knows about gnome-screensaver which is dead after GNOME 3.8 but doesn't about forks: mate-screensaver and cinnamon-screensaver.
**Patch 5088**, "Removes gnome-screensaver, adds mate-screensaver, cinnamon-screensaver, i3lock":
[xflock4-lockers-update.patch](/uploads/902a79976682792a8e4c4aee4f1dee92/xflock4-lockers-update.patch)
Version: 4.12.0
### See also
* https://bugzilla.xfce.org/show_bug.cgi?id=8993Jarno SuniJarno Sunihttps://gitlab.xfce.org/xfce/xfce4-session/-/issues/29xflock4 does not turn off screen due to lack of sleep2022-03-05T18:59:46ZBugzilla Migrationxflock4 does not turn off screen due to lack of sleep## Submitted by Chris Bainbridge
Assigned to **Simon Steinbeiß `@ochosi`**
**[Link to original bug (#11491)](https://bugzilla.xfce.org/show_bug.cgi?id=11491)**
## Description
As noted at http://www.shallowsky.com/linux/x-screen-bl...## Submitted by Chris Bainbridge
Assigned to **Simon Steinbeiß `@ochosi`**
**[Link to original bug (#11491)](https://bugzilla.xfce.org/show_bug.cgi?id=11491)**
## Description
As noted at http://www.shallowsky.com/linux/x-screen-blanking.html calls to "xset dpms" need to be prefixed with "sleep 1":
will blank the screen (or activate the screensaver program, if you're using
one) after a delay of one second. You need the delay because X gets a little
confused about the order of events; it will blank the screen but immediate
un-blank it, thinking the activity of your typing the command happened
recently enough to come out of screensaver mode.
sleep 1; xset dpms force off
will turn the screen OFF after a delay of one second. You can also use
standby, suspend, or on instead of off.
Downstream bug report: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=776674
Version: 4.10.1Simon SteinbeißSimon Steinbeiß