Discussion:
fvwm on Debian 12: Modules do not start. How to debug ?
(too old to reply)
Thomas Schmitt
2024-07-22 19:40:01 UTC
Permalink
Hi,

after the striking success with my previous vim problem, i want to
tackle another nuisance of the 11-to-12 upgrade.

The window manager fvwm2 does not start the Modules and does not produce
the Buttons which are prescribed by my ~/.fvwm2rc . I am direly missing
FvwmPager for my 8x2 multi-desktop and FvwmButtons for my xterm-making
button.
I have to run a script for new xterms and to move a little xterm window
to squeeze my way through the borders between the desktop screens.
(There were key combinations to change desktops. But i forgot them.)

So how could i debug the start of fvwm Modules ?
Is there any log file or configuration option ?

-----------------------------------------------------------------------
Configuration and observations:

My init function is

AddToFunc InitFunction
+ "I" Module FvwmBanner
+ "I" Exec xterm -ls -geometry +150+85
+ "I" Module FvwmButtons
+ "I" Exec xli -onroot -fillscreen -border /usr/share/X11/fvwm2/pixmaps/slate.gif
+ "I" Module FvwmCommandS

To my luck the "Exec xterm" works and gives me a starting point for more
xterms and other programs.

The pager is probably (*) started by

*FvwmButtons (2x1 Frame 0 Swallow(UseOld) "FvwmPager" "Module FvwmPager 0 0")

so one could suspect that only the module FvwmButtons is broken.
But i have a menu with module start commands which do not work either:

AddToMenu modules_popup "Modules" Title
...
+ "Buttons" Module FvwmButtons
...
+ "Command" Module FvwmCommand
...
+ "Console" Module FvwmConsole
...
+ "Pager" Module FvwmPager 0 0
...

(*) My .fvwm2rc is more than 20 years old and was inherited from SuSE.
So i do not remember or did never learn many things which it does.

I remember to have seen "Fvwm..." processes in the output of "ps".
Currently i see only
fvwm2
/usr/bin/ssh-agent fvwm2

(I don't know what ssh-agent has to do with fvwm2. But i have seen it in
the "ps" listings in the past. "dbus" was involved, too. But that might
have been a while ago.)


Have a nice day :)

Thomas
Greg Wooledge
2024-07-22 20:20:02 UTC
Permalink
Post by Thomas Schmitt
So how could i debug the start of fvwm Modules ?
Is there any log file or configuration option ?
Error messages, if there are any, should be in ~/.xsession-errors for
most users. I'd start there.
Thomas Schmitt
2024-07-22 21:20:01 UTC
Permalink
Hi,

(i begin to owe Greg Wooledge half a sysadmin salary and half one for a
geriatric nurse)
Post by Greg Wooledge
Error messages, if there are any, should be in ~/.xsession-errors
$ cat ~/.xsession-errors
Cannot parse color "dtcolor5"
couldn't create gradient
Cannot parse color "dtcolor5"
couldn't create gradient
sh: 1: fvwm-menu-xlock: not found
sh: 1: fvwm-menu-xlock: not found
sh: 1: xdg_menu: not found
[fvwm][executeModule]: <<ERROR>> No such module 'FvwmConsole' in ModulePath '/usr/lib/fvwm/2.6.8'
[fvwm][executeModule]: <<ERROR>> No such module 'FvwmBanner' in ModulePath '/usr/lib/fvwm/2.6.8'
[fvwm][executeModule]: <<ERROR>> No such module 'FvwmButtons' in ModulePath '/usr/lib/fvwm/2.6.8'
[fvwm][executeModule]: <<ERROR>> No such module 'FvwmCommandS' in ModulePath '/usr/lib/fvwm/2.6.8'
/usr/share/X11/fvwm2/pixmaps/slate.gif is a 128x128 GIF87a image with 256 colors
Default gamma for IRGB image is 2.20
Compressing colormap...didn't find evidence of prior run.
6 unique colors
Building XImage...done
[fvwm][executeModule]: <<ERROR>> No such module 'FvwmConsole' in ModulePath '/usr/lib/fvwm/2.6.8'
$

Indeed, there is no directory /usr/lib/fvwm .
In Debian 11 there was /usr/lib/fvwm/2.6.8 utterly filled with Fvwm* files.

Four of five fingers point to me and my ~/.fvwm2rc":

ModulePath /usr/lib/fvwm/2.6.8

I see traces that i adjusted this multiple times over the years:
/usr/lib/X11/fvwm2 , /usr/lib/fvwm/2.6.5 , /usr/lib/fvwm/2.6.8.

So what's its name this year ?

$ find /usr -name FvwmPager
/usr/libexec/fvwm2/2.7.0/FvwmPager


It's a bit late in the evening for system-wide experiments.
I will see tomorrow whether i can omit the ModulePath line or whether i
have to point it to /usr/libexec/fvwm2/2.7.0 .

Further i should begin to learn what the following lines in my ~/.fvwm2rc
mean:

Colorset 3 fg black, bg rgb:c8/d3/e5, VGradient 100 dtcolor5 rgb:c8/d3/e5
...
Colorset 6 fg black, bg rgb:b4/aa/94, VGradient 100 dtcolor5 rgb:b4/aa/94
...
PipeRead 'fvwm-menu-xlock --special-first'
PipeRead 'fvwm-menu-xlock --special-first --name=XSaverMenu -- -nolock'
...
PipeRead 'xdg_menu --charset UTF-8 --format fvwm2'

I guess that they fail since a dozen years at least. :))
As said, 20+ years of migration from machine to machine. Oh nostalgy.


Have a nice day :)

Thomas
Greg Wooledge
2024-07-22 21:50:02 UTC
Permalink
Post by Thomas Schmitt
ModulePath /usr/lib/fvwm/2.6.8
/usr/lib/X11/fvwm2 , /usr/lib/fvwm/2.6.5 , /usr/lib/fvwm/2.6.8.
So what's its name this year ?
$ find /usr -name FvwmPager
/usr/libexec/fvwm2/2.7.0/FvwmPager
Why do you even have that line at all?

hobbit:~/.fvwm$ grep ModulePath *
hobbit:~/.fvwm$

What happens if you comment it out?
Thomas Schmitt
2024-07-23 07:50:01 UTC
Permalink
Hi,
Post by Greg Wooledge
Post by Thomas Schmitt
ModulePath /usr/lib/fvwm/2.6.8
Why do you even have that line at all?
Cargo cult.
Once it was needed, then i carried it on, and finally i forgot about it.

The reason why i did not notice two years ago during the transition
from Debian 10 to 11 is that both have fvwm 2.6.8.
Post by Greg Wooledge
What happens if you comment it out?
Nothing bad. So i will leave it that way.


Have a nice day :)

Thomas
Max Nikulin
2024-07-23 11:30:01 UTC
Permalink
Post by Thomas Schmitt
$ cat ~/.xsession-errors
[...]
Post by Thomas Schmitt
[fvwm][executeModule]: <<ERROR>> No such module 'FvwmConsole' in ModulePath '/usr/lib/fvwm/2.6.8'
A bit off-topic question. In what wiki page you would expect to find
suggestions to inspect ~/.xsession-errors file and journalctl output?

However I anyway do not have a link better that
https://0pointer.de/blog/projects/journalctl.html for journalctl
introduction.
songbird
2024-07-23 12:30:01 UTC
Permalink
Post by Max Nikulin
Post by Thomas Schmitt
$ cat ~/.xsession-errors
[...]
Post by Thomas Schmitt
[fvwm][executeModule]: <<ERROR>> No such module 'FvwmConsole' in ModulePath '/usr/lib/fvwm/2.6.8'
A bit off-topic question. In what wiki page you would expect to find
suggestions to inspect ~/.xsession-errors file and journalctl output?
is there a general problem solving and debugging page?
Post by Max Nikulin
However I anyway do not have a link better that
https://0pointer.de/blog/projects/journalctl.html for journalctl
introduction.
...

songbird
Thomas Schmitt
2024-07-23 12:30:01 UTC
Permalink
Hi,
Post by Max Nikulin
A bit off-topic question. In what wiki page you would expect to find
suggestions to inspect ~/.xsession-errors file and journalctl output?
I pasted ".xsession-errors" into the "Search:" field at the upper right
corner of any Debian wiki page and clicked the "Text" button.
https://wiki.debian.org/JigdoOnLive?action=fullsearch&context=180&value=.xsession-errors&fullsearch=Text
The only helpful match is

https://wiki.debian.org/JigdoOnLive?action=fullsearch&context=180&value=.xsession-errors&fullsearch=Text

"What Does The Log Say?
...
If you're doing something with your window manager or other X client
programs, then their output probably won't be visible to you
immediately. The location of their output will depend on how you
started X. If you used startx(1) from a console, the output probably
appeared on that console (try Ctrl-Alt-F1 to get back to it, then
Alt-F7 (usually) to get back to X). If you logged in with xdm(8), then
xdm creates a file called .xsession-errors in your home directory, and
you should look there. gdm(8) uses .gnome-errors. The other "*dm"
programs may have similar files."

But i simply should have remembered that olde file or have looked
for ~/.x* rather than only for ~/.X* as i did.

The wiki page asks

"Am I Alone?"

Surely not. Time is a harsh mistress.
Post by Max Nikulin
https://0pointer.de/blog/projects/journalctl.html
I suffer substantial stack pain ...


Have a nice day :)

Thomas
Greg Wooledge
2024-07-23 12:40:01 UTC
Permalink
Post by Thomas Schmitt
The only helpful match is
https://wiki.debian.org/JigdoOnLive?action=fullsearch&context=180&value=.xsession-errors&fullsearch=Text
"What Does The Log Say?
...
If you're doing something with your window manager or other X client
programs, then their output probably won't be visible to you
immediately. The location of their output will depend on how you
started X. If you used startx(1) from a console, the output probably
appeared on that console (try Ctrl-Alt-F1 to get back to it, then
Alt-F7 (usually) to get back to X). If you logged in with xdm(8), then
xdm creates a file called .xsession-errors in your home directory, and
you should look there. gdm(8) uses .gnome-errors. The other "*dm"
programs may have similar files."
There's some outdated info in that paragraph.

In Debian, startx uses /etc/X11/Xsession (among many other files), which
redirects all output to ~/.xsession-errors if it can.

~/.xsession-errors has been the standard place to look for WM and X
client errors for so long that I can't even remember where I first
learned about it.

Also, it's unlikely you'll be able to "get back to" the underlying
console from which you ran startx in a modern version of Debian. I
want to say... since jessie? Whenever the big X server changes occurred.

Ever since then, on most systems, the X server runs in the same TTY
where startx was typed, instead of opening a new TTY. This is actually
really good, security-wise, because it means someone can't walk up to
your machine, press Ctrl-Alt-F1, and then use Ctrl-C or Ctrl-Z to kill
or suspend your X session and get control of your shell. That used to
be a possibility.
Max Nikulin
2024-07-24 02:20:01 UTC
Permalink
Post by Thomas Schmitt
Post by Max Nikulin
A bit off-topic question. In what wiki page you would expect to find
suggestions to inspect ~/.xsession-errors file and journalctl output?
I pasted ".xsession-errors" into the "Search:" field at the upper right
corner of any Debian wiki page and clicked the "Text" button.
https://wiki.debian.org/JigdoOnLive?action=fullsearch&context=180&value=.xsession-errors&fullsearch=Text
Sorry, I was not clear. I had in mind some moment before you learned
that errors may appear in ~/.xsession-errors, so you could not use it as
a keyword in search queries. It is not uncommon on this mailing list
when users, asking for help, have no idea where error messages may be
found. I am curious if they will have a chance to discover debugging
recipes if they are documented.
Post by Thomas Schmitt
The only helpful match is
https://wiki.debian.org/JigdoOnLive?action=fullsearch&context=180&value=.xsession-errors&fullsearch=Text
I assume it is
https://wiki.debian.org/TroubleShooting
and certainly it lacks details how to obtain error messages. Perhaps
links to similar pages from other distributions may become an improvement.
Thomas Schmitt
2024-07-24 07:10:01 UTC
Permalink
Hi,
Post by Thomas Schmitt
Post by Max Nikulin
A bit off-topic question. In what wiki page you would expect to find
suggestions to inspect ~/.xsession-errors file and journalctl output?
I pasted ".xsession-errors" into the "Search:" field at the upper right
corner of any Debian wiki page and clicked the "Text" button.
I had in mind some moment before you learned that
errors may appear in ~/.xsession-errors, so you could not use it as a
keyword in search queries.
It did not come to me to look in the wiki for information how to debug
fvwm problems.
Post by Thomas Schmitt
The only helpful match is
https://wiki.debian.org/JigdoOnLive?action=fullsearch&context=180&value
=.xsession-errors&fullsearch=Text
I assume it is
https://wiki.debian.org/TroubleShooting
I should copy before i paste.

Further i should give JigdoOnLive, XorrisoDdTarget, RepackBootableISO,
and MergeDebianIsos a test run, whether they are still up to date.
They are not overly prone to release changes because the topics are
rather inert. The overall structure of Debian ISOs is among the most
conservative aspects of the Debian GNU/Linux project.

(Nearly all other distros got new ISO boot lure layouts during the
years. The last big change in Debian amd64 ISOs was support for EFI in
Debian 7.)
and certainly it lacks details how to obtain error messages.
Yeah. I agree with you and Greg Wooledge.
But i have few experience with the new stuff and changes which would
have to be added to that wiki page.


Have a nice day :)

Thomas

Loading...