Perusal, Synthesis, Bliss

October 12, 2020: installation of Xubuntu 20.04 on LDLC computer Saturne SG4-I3-8-S9H7

Why I have reinstalled a new Linux version and why I have switched back to Ubuntu

For three years I have been satisfied with Debian Stretch. However I had several problems:
For the last point I expected some improvements in Xfce 4.14; however in the new Debian version (Buster) there is still Xfce 4.12 (and also in Buster-backports!), so I have decided to try Ubuntu Xubuntu 20.04; but not better. For the first point: it is solved. For point 2 and 3, as I suspected the problems are still here (hardware problem).

Installation

I have to say that the Xubuntu 10.04 Live CD is better than the Debian Buster Live CD: the WIFI network is recognized. For the Ubuntu installation, as I have encrypted partitions it is important to apply the procedure reported in my notes of April 24, 2015 and June 21, 2016. However this time I have found that I must let the installation tool unmount the encrypted partitions rather than doing it myself before starting the installer (at least for my home partition, which is otherwise not seen by the installer when choosing "advanced partitioning").
At the end of the installation, I got an error linked to initramfs: impossible to boot the machine, as in every installation made these last years. As in other occurrences I have rescued the situation with a Lubuntu 16.04 "alternate 64 bits" distribution, choosing “rescue a broken system” at boot, and then I followed the procedure indicated in my note of April 22, 2014. For some reason at some stage the following command (used in the terminal started on the root partition by Lubuntu) returns an error:
$ update-initramfs -k all -c -v
The solution is simply to remove initrd* images in /boot before running the command (probably lack of space left in the /boot partition). After that I obtained also a kernel panic at boot:
VFS: unable to mount root fs on unknown-block(0 0)
As suggested by here, the solution was to use again Lubuntu as above and update grub:
$ update-grub
To log in I had also to change the uid of my user in /etc/passwd.

Screensaver preventing to resume from suspend

After suspend I have been unable to resume: impossible to enter my password because the input field is greyed out. On another occasion I got a black screen with the possibility to move the mouse but no dialog to enter my password. Doing CTRL+ALT+F1 and then killing xfce4-screensaver, I was able to enter my session. Maybe the problem comes from the fact that xscreensaver is installed on my machine? Anyway, I have uninstalled xfce4-screensaver without dependency problem. Yet I remark that the xscreensaver preferences dialogs in xfce settings takes several seconds to appear after a left click.

No sound at startup

The problem is not due to my hardware or to some software bug, but to a permission problem, as it can be seen by:
$ pulseaudio -v
[…]
Home directory not accessible: Permission denied
The solution was to do
$ sudo chown jscordi:jscordi jscordi
This would not occur in a more standard installation.

Hibernation

At some stage after the installation I had reboot, shudown and hibernate buttons greyed out; choosing gdm may help:
sudo dpkg-reconfigure gdm3
according to here (but I am not sure it was needed in my case). Even after that "hibernate" is still greyed out. It is not a problem of inactive swap:
$ swapon -s
Filename Type Size Used Priority
/dev/dm-1 partition 9764860 0 -2
$ free -m
total used free shared buff/cache available
Mem: 7857 1805 4107 349 1944 5408
Swap: 9535 0 9535
The problem is found here: here: hibernation is disabled by default. To check that hibernation works correctly:
$ systemctl hibernate 
If it works (it does in my case), hibernation can be enabled by following the instructions at here. I have just created the following new file, and rebooted:
$ sudo cat /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla

[Re-enable hibernate by default in upower]
Identity=unix-user:*
Action=org.freedesktop.upower.hibernate
ResultActive=yes
[Re-enable hibernate by default in logind]
Identity=unix-user:*
Action=org.freedesktop.login1.hibernate;org.freedesktop.login1.handle-hibernate-key;org.freedesktop.login1;org.freedesktop.login1.hibernate-multiple-sessions;org.freedesktop.login1.hibernate-ignore-inhibit
ResultActive=yes
By the way, interestingly a new possibility has appeared in Xfce: "hybrid sleep":
ubuntu_20_04_hybrid_sleep.png
According to here:
Hybrid Sleep is not an intermediary state between Suspension/backup to RAM ("Sleep") and that to disk ("Hibernation"), but a double operation; it simply does both.
It ensures all that is needed for the Hibernation procedure to work, but it doesn’t shut down the machine; instead, it suspends it to RAM (Sleep mode). As long as power is not completely drained, only the ’Sleep/Suspend to RAM’ capability is visible. In case of total power drain, the Hibernation capability is used: the machine is shut down but is able to restore all programs from swap upon startup.
Unfortunately after one week I have found some occurrences where hibernation did not work. In Debian Stretch I already checked that it may be to a too small SWAP partition: for instance by closing Firefox the problem was solved. Yet here the problem is perhaps a bit more complicated.
So I will use suspend instead; but also unplugging my USB hub on the USB port because otherwise perturbations on the apartment electrical grid make the computer wake up.

Leafnode

No special complication compared to other installations. It works correctly.

Apache

I have followed the same procedure as in my note of May 3, 2020, without problem. No need to logout after having added www-data to the jscordi group (but I have checked that adding www-data in the jscordi group is really needed to be allowed to display a page through Apache).

Amarok

It is no more the default KDE music player (cf here). But it may installed from a ppa:
$ sudo add-apt-repository ppa:joe-yasi/amarok-kde5
$ sudo apt-get update
It is half broken (no collection made, no lyrics).

Tracker Gnome indexer

At some stage after having installing the packages I use (or even before), the Gnome indexing tool "tracker" has been installed (here). It seems to index fast, but I do not need any file indexer, I have not managed to find a GUI for Xfce using this indexer, and "tracker search electron" did not return anything except an assertion in Glib (though "tracker status" reports that index is finished).
Moreover we read not really encouraging things here:
La raison principale qui a poussé les développeurs d’Ubuntu à amputer GNOME Shell de Tracker serait la consommation accrue d’énergie quand Tracker indexe des fichiers, ce qui impacterait sensiblement l’autonomie des batteries d’ordinateurs portables.
So I have decided to remove it. The first thing to do is to remove the databases:
$ tracker --reset -r
CAUTION: This process may irreversibly delete data.
Although most content indexed by Tracker can be safely reindexed, it can’t be assured that this is the case for all data. Be aware that you may be incurring in a data loss situation, proceed at your own risk.
Are you sure you want to proceed? [y|N]: y
Found 0 PIDs…
_g_io_module_get_default: Found default implementation dconf (DConfSettingsBackend) for ‘gsettings-backend’
Setting database locations
Checking database directories exist
Checking database version
  Could not find database version file:’/home/jscordi/.cache/tracker/db-version.txt’
  Current databases are either old or no databases are set up yet
  A reindex will be forced
  Creating version file ’/home/jscordi/.cache/tracker/db-version.txt’
Checking whether database files exist
Removing all database/storage files
  Removing database:’/home/jscordi/.cache/tracker/meta.db’
  Removing db-locale file:’/home/jscordi/.cache/tracker/db-locale.txt’
  Removing journal:’/home/jscordi/.local/share/tracker/data/tracker-store.journal’
  Removing db-version file:’/home/jscordi/.cache/tracker/db-version.txt’
To disable it at boot, I have used the method described at here:
$ systemctl --user mask tracker-store.service tracker-miner-fs.service tracker-miner-rss.service tracker-extract.service tracker-miner-apps.service tracker-writeback.service
Unit tracker-miner-rss.service does not exist, proceeding anyway.
Unit tracker-miner-apps.service does not exist, proceeding anyway.
Created symlink /home/jscordi/.config/systemd/user/tracker-store.service → /dev/null.
Created symlink /home/jscordi/.config/systemd/user/tracker-miner-fs.service → /dev/null.
Created symlink /home/jscordi/.config/systemd/user/tracker-miner-rss.service → /dev/null.
Created symlink /home/jscordi/.config/systemd/user/tracker-extract.service → /dev/null.
Created symlink /home/jscordi/.config/systemd/user/tracker-miner-apps.service → /dev/null.
Created symlink /home/jscordi/.config/systemd/user/tracker-writeback.service → /dev/null.
The two warnings are expected:
You may get a warning that some of these services do not exist - ignore it. That’s because for example on Ubuntu 19.04 there’s no tracker-miner-rss.service by default, but there is one on Solus OS and Fedora, which in turn do not have tracker-miner-apps.service.
Unfortunately at reboot a tracker service is still working! For the time being I manage the situation by typing at each boot:
$ tracker --reset -r
To undo the previous modification (I did not try):
$ systemctl --user unmask tracker-store.service tracker-miner-fs.service tracker-miner-rss.service tracker-extract.service tracker-miner-apps.service tracker-writeback.service
To manage the Philips monitor (read above) and stop tracker, I have created a shell script ubuntu_20_04_after_login.sh and added it in the bottom bar of applications. It is started using "xterm -e":
#!/bin/sh
tracker --reset -r
xrandr --newmode "2560x1440_43.00"  217.50  2560 2720 2992 3424  1440 1443 1448 1478 -hsync +vsync
xrandr --addmode HDMI-1 "2560x1440_43.00"
Note that to be able to add it in the whisker menu I have been compelled to set menulibre to edit the whisker menu:
whisker_menulibre.png
contrary to my note of December 3, 2017 where I used xfce4-appfinder rather than menulibre.

Thunderbird and Free pop3 server

I have installed the last Thunderbird version, and start it directly by calling the executable (no installation):
/home/jscordi/local/non_src/thunderbird/thunderbird/thunderbird %u
Problem: no mail at startup, all my mails have disappeared. In the "Help→Troubleshooting Information" page, click the "about:profiles" link. Thunderbird detects a new empty profile it has just created, and my profile used with the previous Thunderbird version. I have only set the latter as default: "Set as default profile"; it is working perfectly. I have removed the default Ubuntu Thunderbird version.
Yet with this new version I had a problem to fetch my emails on pop.free.fr. The solution has been found here:
Bonjour, Problème résolu. Dans l’éditeur de configuration: security.tls.version.min value = 3 --> security.tls.version.min value = 1

Qt 4 libraries for LyX 2.3.2

When trying to start LyX:
$ cd /home/local/jscordia/src/external_projects/lyx-2.3.2
$ ./src/lyx 
./src/lyx: error while loading shared libraries: libQtSvg.so.4: cannot open shared object file: No such file or directory
The solution is given at here.
$ sudo apt-get install libqtcore4
$ sudo apt-get install libqt4-svg

Security policy for ImageMagick

Error obtained when scanning a document with my script scanpaper.sh:
out.djvu created
mogrify-im6.q16: attempt to perform an operation not allowed by the security policy ‘PDF’ @ error/constitute.c/IsCoderAuthorized/408.
Syntax Error: Document stream is empty
Syntax Error: Could not merge damaged documents (’out1.pdf’)
The problem occurs when attempting to transform a DJVU file in a PDF file. In fact I had a similar problem in August 2020, when I wanted to output the pages of a PDF file as individual JPG images. I got an error:
$ convert graph_test_cases.pdf graph_test_cases.jpg
convert-im6.q16: not authorized ‘graph_test_cases.pdf’ @ error/constitute.c/ReadImage/412.
convert-im6.q16: no images defined ‘graph_test_cases.jpg’ @ error/convert.c/ConvertImageCommand/3258.
        Command failure: error 1 !
$
The reason is explained here: because a PDF is a special postscript file that may contain dangerous instructions. More details are given on the website of ImageMagick: here. I have by default:
$ identify -list policy | \grep -C4 PDF
    rights: None 
    pattern: EPS
  Policy: Coder
    rights: None 
    pattern: PDF
  Policy: Coder
    rights: None 
    pattern: XPS
$
But after having edited the file /etc/ImageMagick-6/policy.xml, changing the line
  <policy domain="coder" rights="none" pattern="PDF" /> 
in
  <policy domain="coder" rights="read|write" pattern="PDF" />
I get:
$ identify -list policy | \grep -C4 PDF
    rights: None 
    pattern: EPS
  Policy: Coder
    rights: Read Write
    pattern: PDF
  Policy: Coder
    rights: None 
    pattern: XPS
And after that everything works correctly, both scanpaper.sh and conversion from PDF to JPG:
$ convert -density 150 -quality 70 graph_test_cases.pdf graph_test_cases.jpg 
$ ll
total 6.5M
drwxrwxr-x 2 mse6s3 mse6s3 4.0K 2020-08-24 20:44 .
drwxrwxr-x 3 mse6s3 mse6s3  12K 2020-08-24 16:12 ..
-rw-rw-r-- 1 mse6s3 mse6s3 289K 2020-08-24 20:44 graph_test_cases-0.jpg
-rw-rw-r-- 1 mse6s3 mse6s3 235K 2020-08-24 20:44 graph_test_cases-1.jpg
-rw-rw-r-- 1 mse6s3 mse6s3 259K 2020-08-24 20:44 graph_test_cases-2.jpg
-rw-rw-r-- 1 mse6s3 mse6s3 240K 2020-08-24 20:44 graph_test_cases-3.jpg
-rw-rw-r-- 1 mse6s3 mse6s3 5.5M 2020-08-24 16:07 graph_test_cases.pdf

Konsole

Shutter not present from Ubuntu 18.04

Cf here:
$ sudo add-apt-repository -y ppa:linuxuprising/shutter
$ wajig install shutter
This is Shutter 0.94.3 and it has not the bug present in Debian Stretch 9.4.

Crontab

I have taken the crontab of December 3, 2017:
$ crontab -l
# $PATH is empty when entering this script, so we are compelled to indicate all
# necessary directories in the hard-coded way. Note that /bin and /usr/bin are
# necessary for some of the programs used in bckup_exthd.sh below.
PATH=/usr/local/bin/:/bin:/usr/bin
SHELL=/bin/bash
# June 2017: DISPLAY=:0 is necessary for wmctrl to work below. Otherwise
# "cannot open display" error message is obtained.
DISPLAY=:0
# Random positioning of zenity windows for backup, and raise them on top of the window
# stack. Note how it is important to escape the "%" in the following line (see
# http://www.hcidata.info/crontab.htm). We do this every minute ("*/1") as the backup.
*/1 * * * *  unset w && for i in $(wmctrl -d|sed -n "s/.*\* DG: \([0-9]*\)x\([0-9]*\).*/\1 \2/p");do w[${#w[*]}]=$(( $RANDOM \% i ));done;wmctrl -R "pestering popup" -e 0,${w[0]},${w[1]},-1,-1;wmctrl -R "pestering popup"
*/1 * * * *  bckup_exthd.sh
*/7 * * * *  /usr/local/bin/leafnode_newmsg.sh

Automatic backup of user crontab

I have modified my backup script bckup_exthd.sh to deal with single files (I have not managed to make rdiff-backup to backup a single file). As it is necessary to be part of the "crontab" group to enter the directory containing user crontabs:
$ sudo ls -ld /var/spool/cron/crontabs/
drwx-wx--T 2 root crontab 4096 Oct 12 23:24 /var/spool/cron/crontabs/
I have been compelled to put myself in the crontab group:
$ \grep jscordi /etc/group
adm:x:4:syslog,jscordi
cdrom:x:24:jscordi
sudo:x:27:jscordi
dip:x:30:jscordi
plugdev:x:46:jscordi
crontab:x:105:jscordi
lpadmin:x:121:jscordi
lxd:x:131:jscordi
jscordi:x:1000:
sambashare:x:132:jscordi
$ groups
jscordi adm cdrom sudo dip plugdev crontab lpadmin lxd sambashare
After that there is no problem to access the user crontab
$ sudo ls -ld /var/spool/cron/crontabs/jscordi
-rw------- 1 jscordi crontab 2855 Oct 12 23:24 /var/spool/cron/crontabs/jscordi

Philips 27’’ screen

No problem, but still needed to do:
$ xrandr --newmode "2560x1440_43.00"  217.50  2560 2720 2992 3424  1440 1443 1448 1478 -hsync +vsync
$ xrandr --addmode HDMI-1 "2560x1440_43.00"
To have this resolution accessible in the Xfce display manager.

Note about local package repository definition

My installation script sycomore.py adds a source file for this directory:
$ cat /etc/apt/sources.list.d/local.list
deb [ allow-insecure=yes ] file:///usr/local/packages/installed /
Problem, when I try to update:
$ sudo wajig update
Get:1 file:/usr/local/packages/installed  InRelease
Ign:1 file:/usr/local/packages/installed  InRelease
[…]
Get:9 file:/usr/local/packages/installed  Contents (deb)
Ign:9 file:/usr/local/packages/installed  Contents (deb)
Get:3 file:/usr/local/packages/installed  Packages [10.0 kB]
[…]
Reading package lists... Done                             
N: Download is performed unsandboxed as root as file ’/usr/local/packages/installed/InRelease’ couldn’t be accessed by user ’_apt’. - pkgAcquire::Run (13: Permission denied)
W: The repository ’file:/usr/local/packages/installed  Release’ does not have a Release file.
N: Data from such a repository can’t be authenticated and is therefore potentially dangerous to use.
N: See apt-secure(8) manpage for repository creation and user configuration details.
This is the same as the previous count with 0 new packages.
There are 0 new upgrades
It is better to use
$ cat /etc/apt/sources.list.d/local.list
deb [ trusted=yes ] file:///usr/local/packages/installed /
that results in a slighter warning:
Fetched 107 kB in 1s (73.8 kB/s)    
Reading package lists... Done
N: Download is performed unsandboxed as root as file ’/usr/local/packages/installed/InRelease’ couldn’t be accessed by user ’_apt’. - pkgAcquire::Run (13: Permission denied)
This is the same as the previous count with 0 new packages.
There are 0 new upgrades

Scanner and Printer Canon MF4330d

The scanner works out of the box. For the printer it is needed to install the Canon driver. As usual I have a symbolic link for the Canon manufacturer package:
$ ll /usr/local/packages/installed/cnrdrvcups-ufr2-uk_5.20-1_amd64.deb 
lrwxrwxrwx 1 jscordi jscordi 114 2020-10-12 23:50 /usr/local/packages/installed/cnrdrvcups-ufr2-uk_5.20-1_amd64.deb -> ../../non_src/CANON_MF4330d_v5_20/linux-UFRII-drv-v520-fr/64-bit_Driver/Debian/cnrdrvcups-ufr2-uk_5.20-1_amd64.deb
To take into account this change it is needed to do run my script and update
$ ./update_packages_gz.sh
$ wajig update
Then I have installed only one package (contrary to two packages in the past):
$ wajig install cnrdrvcups-ufr2-uk
Then at "localhost:631", when adding a printer, I have chosen
 Canon MF4320-4350 (UFRII LT) CNUSBUFR2 #1 (Canon MF4320-4350 (UFRII LT))
It works correctly. I have tried to print the first page of files
thomas_precession_and_its_associated_grouplike_structure_AJP.pdf
whitrow_qjm_4_161_33.pdf
without any problem (no black page, without using cngplp), as well as page 19 of
Syn60b.djvu
without the problem of partial printing for the figure (see my note of May 1, 2014).

libdvdcss (DVD encryption) support

Exactly as in Ubuntu 16.04:
$ wajig install libdvd-pkg
$ sudo dpkg-reconfigure libdvd-pkg

Qarte

Same procedure as in the last installation I made (Debian Stretch):
$ sudo apt-get install software-properties-common # for add-apt-repository
$ sudo add-apt-repository ppa:vincent-vandevyvre/vvv
$ apt install qarte

Pybliographer

It was available in Ubuntu 16.04, but not after. So I have downloaded the last version in Ubuntu (1.2.16) here and put it in my local package repository. However, it is a bad idea:
$ wajig install pybliographer
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
 pybliographer : Depends: python-gnome2 but it is not installable
                 Depends: python-glade2 but it is not installable
E: Unable to correct problems, you have held broken packages.
So there is a dependency problem. Looking at the website of Pybliographer, the last version is found to be 1.4 here, indeed indicating they have got rid of gnome2:
Pybliographer 1.4.0 is out. Changes include:
    Remove dependency on python-gnome2, python-gnome2-vfs, and python-glade2.
    Pybliographer now requires pygtk 2.24.0 and gettext 0.19.8
    Improve and simplify the build system
    Known regressions to be fixed later:
        Format entries cannot be saved 
    Known regressions that will not be fixed:
        Remove support for old confirmation dialog option
        Drop history on combo boxes
But there is no package available at this time, and it still depends on deprecated pages as python-gtk2-dev. So I first decide to switch back to KBibtex, which is available. It seems that its GUI has evolved, it is a good sign of bug fixing. However, when I save a bibliography it brakes the file:
@incollection{MSM65,
	author = "Michel, Aim{\’e} and Stevens, William O. and Moufang, Wilhelm",
	booktitle = "{Encyclop{\’e}die Plan{\‘e}te"},
	title = "{Le myst{\‘e}re des r{\^e}ves"},
	year = 1965
}
Fortunately it is easy to solve with a simple substitution in VIM:
:%s/"{\(.*\)"}/"\1"/g
But Kbibtex is the last version 0.8.1, so I cannot expect the bug to be solved: I try jabref. It looks complete, but I rapidly found a problem:
jabref1.png
becomes in the list:
jabref2.png
So quotes are not well supported. This is the bug reported at here: it is needed to use a newer version. The Ubuntu version is
$ wajig detail jabref
Package: jabref                   
Version: 3.8.2+ds-12
[…]
whereas the last version is 5.1. I try it: the bug is corrected and it has user-defined colored named groups. However it is very slow (written in java!) and too much complicated for my basic use.
So it is reasonable to understand what is the problem with KBibtex (which is fast and manages correctly accents). I remark that jabref has created an entry with braces instead of quotes:
@Book{Sgu62,
  author    = {Saint-Guilhem, René},
  title     = {Les Principes de l’Analyse Dimensionnelle},
  publisher = {Gauthier-Villars},
  series    = {M\’emorial des sciences mathématiques},
  volume    = {152},
  booktitle = {Invariance des {R}elations {V}ectorielles dans {C}ertains {G}roupes d’{A}ffinit\’es},
  year      = {1962},
}
So it makes sense to try removing outermost double quotes and replace them with braces:
:%s/"\([^{].*[^}]\)"/{\1}/g
:%s/"\({.*}\)"/\1/g
:%s/"\(.*\)"/{\1}/g
After that it remains some multiline fields as:
	abstract = "p.103: remarque int{\’e}ressante sur la
                   probabilit{\’e} croissante avec le nombre de cas
                   apparent{\’e}s.",
These must be managed with a multi-line substitution that can be done with sed (cf here):
$ echo -e ’= "Un Makefile ne\nsert pas seulement"’ | sed -z ’s+= "\([^"]*\)"+{\1}+’
{Un Makefile ne
sert pas seulement}
So
$ sed -z ’s+= "{\([^"]*\)}"+= {\1}+g’ biblio.bib > biblio2.bib
$ sed -z ’s+= "\([^{][^"]*\)"+= {\1}+g’ biblio2.bib > biblio3.bib
It works correctly. Once all is done, the bibliography is correcly open and saved. Remaining problems are easily detected (empty lines "comment" in KBibtex):
kbibtex_blank_lines.png
and corrected manually. But I remark that all accents as
Plan{\‘e}te
are transformed by KBibtex as
Planète
The same is done by Jabref. But when generating a PDF with LyX, for instance:
saint_guilhem.png
The workaround is very simple: just set "utf8" as encoding in the LyX document:
lyx_document_encoding.png
leading to e.g.
bibtex_biblio_with_accents.png
Note however than when entering a "non-trivial" unicode character in Jabref
jabref3.png
or in KBibtex:
unicode_kbibtex.png
we get an error in LyX when generating the PDF document:
lyx_unicode_exotic_character.png
I have not tried to solve the problem. Adding the line
\usepackage[utf8]{inputenc}
in the LaTeX preamble of the LyX document did not help. The solution is not to use such symbols in the bibliography.

Turtlesport

When starting turtlesport:
$ turtlesport 
16:27:50,539 WARN  fr.turtlesport.TurtleSport - Turtle Sport v1.9
16:27:50,542 WARN  fr.turtlesport.TurtleSport - prop application.home=null
16:27:50,542 WARN  fr.turtlesport.TurtleSport - java.vendor=Ubuntu
16:27:50,543 WARN  fr.turtlesport.TurtleSport - java.runtime.name=OpenJDK Runtime Environment
16:27:50,544 WARN  fr.turtlesport.TurtleSport - java.version=11.0.8
16:27:50,544 WARN  fr.turtlesport.TurtleSport - java.vm.name=OpenJDK 64-Bit Server VM
16:27:50,545 WARN  fr.turtlesport.TurtleSport - java.vm.version=11.0.8+10-post-Ubuntu-0ubuntu120.04
16:27:50,546 WARN  fr.turtlesport.TurtleSport - sun.arch.data.model=64
16:27:50,546 WARN  fr.turtlesport.TurtleSport - prop application.home=null
16:27:50,547 WARN  fr.turtlesport.TurtleSport - os.name=Linux
16:27:50,547 WARN  fr.turtlesport.TurtleSport - os.arch=amd64
16:27:51,252 WARN  fr.turtlesport.db.DatabaseManager - derby.system.home=/home/jscordi/.turtlesport
16:27:51,254 WARN  fr.turtlesport.db.DatabaseManager - JDBC 4
16:27:51,544 WARN  fr.turtlesport.db.DatabaseManager - Using 10.3
16:27:52,050 WARN  fr.turtlesport.db.DatabaseManager - Using Apache Derby 10.3.1.4 - (561794)
could not load ’loading.png’
16:27:53,922 ERROR fr.turtlesport.map.MapConfiguration - 
java.lang.NoClassDefFoundError: javax/xml/bind/JAXBContext
        at fr.turtlesport.map.MapConfiguration.initMaps(MapConfiguration.java:96)
        at fr.turtlesport.map.MapConfiguration.<init>(MapConfiguration.java:55)
        at fr.turtlesport.map.MapConfiguration.<clinit>(MapConfiguration.java:37)
        at fr.turtlesport.map.AllMapsFactory.<init>(AllMapsFactory.java:74)
        at fr.turtlesport.map.AllMapsFactory.<clinit>(AllMapsFactory.java:26)
        at fr.turtlesport.ui.swing.component.JTurtleMapKit.getJComboboxMap(JTurtleMapKit.java:355)
        at fr.turtlesport.ui.swing.component.JTurtleMapKit.getJPanelButton(JTurtleMapKit.java:321)
        at fr.turtlesport.ui.swing.component.JTurtleMapKit.initialize(JTurtleMapKit.java:236)
        at fr.turtlesport.ui.swing.component.JTurtleMapKit.<init>(JTurtleMapKit.java:111)
        at fr.turtlesport.ui.swing.component.JPanelMap.getJMapKit(JPanelMap.java:101)
        at fr.turtlesport.ui.swing.component.JPanelMap.initialize(JPanelMap.java:84)
        at fr.turtlesport.ui.swing.component.JPanelMap.<init>(JPanelMap.java:35)
        at fr.turtlesport.ui.swing.JPanelRun.getJPanelMap(JPanelRun.java:1738)
        at fr.turtlesport.ui.swing.JPanelRun.getJSplitPanelCenter(JPanelRun.java:1684)
        at fr.turtlesport.ui.swing.JPanelRun.initialize(JPanelRun.java:556)
        at fr.turtlesport.ui.swing.JPanelRun.<init>(JPanelRun.java:281)
        at fr.turtlesport.ui.swing.MainGui.initialize(MainGui.java:604)
        at fr.turtlesport.ui.swing.MainGui.<init>(MainGui.java:205)
        at fr.turtlesport.ui.swing.SwingApplication.createMainGUI(SwingApplication.java:235)
        at fr.turtlesport.ui.swing.SwingApplication.access$000(SwingApplication.java:34)
        at fr.turtlesport.ui.swing.SwingApplication$2.run(SwingApplication.java:154)
        at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313)
        at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:770)
        at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
        at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
        at java.base/java.security.AccessController.doPrivileged(Native Method)
        at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
        at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:740)
        at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
        at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
        at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
        at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
        at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
        at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
Caused by: java.lang.ClassNotFoundException: javax.xml.bind.JAXBContext
        at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
        at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
        ... 34 more
Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: javax/activation/ActivationDataFlavor
        at fr.turtlesport.ui.swing.component.calendar.JLabelDay.fireActive(JLabelDay.java:152)
        at fr.turtlesport.ui.swing.component.calendar.AbstractJPanelMonth.fireCurrentDates(AbstractJPanelMonth.java:226)
        at fr.turtlesport.ui.swing.model.ModelRunCalendar.updateView(ModelRunCalendar.java:74)
        at fr.turtlesport.ui.swing.component.calendar.JPanelCalendar.fireHistoric(JPanelCalendar.java:149)
        at fr.turtlesport.ui.swing.component.calendar.JPanelListDateRun.fireHistoric(JPanelListDateRun.java:188)
        at fr.turtlesport.ui.swing.MainGui.fireHistoric(MainGui.java:1560)
        at fr.turtlesport.ui.swing.MainGui.setCurrentIdUser(MainGui.java:367)
        at fr.turtlesport.ui.swing.MainGui.initialize(MainGui.java:605)
        at fr.turtlesport.ui.swing.MainGui.<init>(MainGui.java:205)
        at fr.turtlesport.ui.swing.SwingApplication.createMainGUI(SwingApplication.java:235)
        at fr.turtlesport.ui.swing.SwingApplication.access$000(SwingApplication.java:34)
        at fr.turtlesport.ui.swing.SwingApplication$2.run(SwingApplication.java:154)
        at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313)
        at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:770)
        at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
        at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
        at java.base/java.security.AccessController.doPrivileged(Native Method)
        at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
        at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:740)
        at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
        at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
        at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
        at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
        at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
        at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
Caused by: java.lang.ClassNotFoundException: javax.activation.ActivationDataFlavor
        at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
        at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
This is exactly here:
Ton erreur est indiquée par ces messages :
java.lang.NoClassDefFoundError: javax/xml/bind/JAXBContext
java.lang.ClassNotFoundException: javax.activation.ActivationDataFlavor
Tu utilises Java en version 10.
Ton problème vient de ce que, une des classes utilisées par Turtle Sport 2.0-1, est dépréciée depuis Java 9.
Pour corriger ton problème, il faut installer le paquet openjdk-8-jre. Ensuite, il te faut, soit mettre cette version par défaut, soit préciser la version à utiliser en lançant Turtle Sport.
I have chosen the second solution:
$ wajig install openjdk-8-jre
$ sudo update-alternatives --config java
There are 2 choices for the alternative java (providing /usr/bin/java).
  Selection    Path                                            Priority   Status
------------------------------------------------------------
* 0            /usr/lib/jvm/java-11-openjdk-amd64/bin/java      1111      auto mode
  1            /usr/lib/jvm/java-11-openjdk-amd64/bin/java      1111      manual mode
  2            /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java   1081      manual mode
Press <enter> to keep the current choice[*], or type selection number: 2
update-alternatives: using /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java to provide /usr/bin/java (java) in manual mode
After that turtlesport starts correctly. What is the difference between JDK, JRE, JVM? Cf here:
En bref, la machine virtuelle Java ou JVM est le composant de la plate-forme Java qui exécute les programmes ; l’environnement de développement Java ou JRE crée la machine virtuelle Java ou JVM et s’assure que les dépendances sont disponibles pour les programmes Java ; le kit de développement Java ou JDK permet de créer des programmes Java qui peuvent être exécutés par la JVM et le JRE.

gcolor2 is missing

As a workaround I have downloaded the last available Ubuntu version (16.04): here and put it in my local package repository. No dependency problem, it works correctly.

Various

Connecting my Garmin watch at startup at best slows down the boot a lot

The following error is obtained with dmesg (so it is an output of the kernel that may be shown at startup by typing ESC at the time the Ubuntu logo is shown at the center of the screen):
dmesg.0-        [   25.172173] kernel: ACPI: \_SB_.PCI0.PEG0.PEGP: failed to evaluate _DSM
dmesg.0-        [   36.296038] kernel: usb 3-3.4: reset full-speed USB device number 6 using xhci_hcd
dmesg.0-        [   36.421569] kernel: sd 4:0:0:0: Power-on or device reset occurred
dmesg.0-        [   51.656066] kernel: usb 3-3.4: reset full-speed USB device number 6 using xhci_hcd
dmesg.0-        [   51.987715] kernel: EXT4-fs (sda1): mounted filesystem with ordered data mode. Opts: (null)
dmesg.0-        [   51.987725] kernel: ext4 filesystem being mounted at /boot supports timestamps until 2038 (0x7fffffff)
dmesg.0-        [   67.016098] kernel: usb 3-3.4: reset full-speed USB device number 6 using xhci_hcd
dmesg.0-        [   97.480097] kernel: usb 3-3.4: reset full-speed USB device number 6 using xhci_hcd
dmesg.0-        [   97.604989] kernel: sd 4:0:0:0: [sdc] tag#0 FAILED Result: hostbyte=DID_TIME_OUT driverbyte=DRIVER_OK
dmesg.0-        [   97.604994] kernel: sd 4:0:0:0: [sdc] tag#0 CDB: Read(10) 28 00 00 00 20 00 00 00 08 00
dmesg.0:        [   97.604997] kernel: blk_update_request: I/O error, dev sdc, sector 8192 op 0x0:(READ) flags 0x80700 phys_seg 1 prio class 0
dmesg.0-        [   97.606023] kernel: sd 4:0:0:0: Power-on or device reset occurred
Indeed /dev/sdc is the watch when it is connected. The workaround is simply to disconnect it and reboot. I am not sure 100% (I have also run fsck.ext4 -f -v on /home, /boot, /home/local) but it maybe prevented /home to be mounted at the end of the boot (of course this is a problem).

Prevent Ubuntu from updating the kernel over and over

The problem is that my /boot partition is too small, and kernel installations fail. A solution is found at here:
$ sudo apt-mark hold linux-image-generic linux-headers-generic
linux-image-generic was already set on hold.
linux-headers-generic set on hold.
But if it was already on hold then it is not the solution (and headers are useless for this problem, they are used for compilation). So instead I remove the last kernels:
$ cd /boot
$ rm -f initrd.img*
then install any package such that a new kernel is regenerated:
$ wajig install dolphin
$ ls -l initrd.img*
lrwxrwxrwx 1 root root       27 déc.   6 11:38 initrd.img -> initrd.img-5.4.0-56-generic
-rw-r--r-- 1 root root 87095527 déc.   6 11:39 initrd.img-5.4.0-56-generic
And then I try to hold this kernel, in agreement with what is said at here:
$ sudo apt-mark hold 5.4.0-56-generic
linux-buildinfo-5.4.0-56-generic set on hold.
linux-cloud-tools-5.4.0-56-generic set on hold.
linux-headers-5.4.0-56-generic set on hold.
linux-image-5.4.0-56-generic set on hold.
linux-modules-5.4.0-56-generic set on hold.
linux-image-unsigned-5.4.0-56-generic set on hold.
linux-modules-extra-5.4.0-56-generic set on hold.
linux-tools-5.4.0-56-generic set on hold.
linux-modules-nvidia-390-5.4.0-56-generic set on hold.
linux-modules-nvidia-418-server-5.4.0-56-generic set on hold.
linux-modules-nvidia-440-server-5.4.0-56-generic set on hold.
linux-modules-nvidia-450-5.4.0-56-generic set on hold.
linux-modules-nvidia-450-server-5.4.0-56-generic set on hold.
linux-modules-nvidia-455-5.4.0-56-generic set on hold.
$
Yes it is perhaps a bad idea, I will certainly increase the size of my /boot partition for my next computer (currently 169M with 11M free).

Update on December 13: Realtek hardware (network card and card reader) no more listed

Contrary to my installation of October 27, 2012, no Realtek hardware is detected:
$ lspci|grep realtek
        Command failure: error 1 !
Kernel version
$ uname -r
5.4.0-56-generic
It seems there is a problem with realtek drivers in 20.04: here. But after regeneration of initrd.img using Lubuntu rescuing disk as already told above:
$ cd /boot
$ rm -f initrd.img*
$ update-initramfs -k all -c -v
$ ls /boot
grub        System.map-5.4.0-53-generic  System.map-5.6.0-1028-oem    config-5.4.0-53-generic  config-5.6.0-1028-oem    initrd.img-5.4.0-56-generic  memtest86+.elf            vmlinuz
lost+found  System.map-5.4.0-56-generic  System.map-5.8.0-29-generic  config-5.4.0-56-generic  config-5.8.0-29-generic  memtest86+.bin               memtest86+_multiboot.bin  vmlinuz-5.4.0-56-generic
$ ll /boot/vmlinuz
lrwxrwxrwx 1 root root 24 2020-12-13 11:35 /boot/vmlinuz -> vmlinuz-5.4.0-56-generic
$ update-grub
$
then they are detected again:
$ uname -r
5.4.0-56-generic
$ lspci|grep realt
04:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTL8411 PCI Express Card Reader (rev 01)
04:00.2 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 0a)
And both work correctly. However I have found that even with that my SD card is not always mounted automatically. Fortunately my numeric camera Canon PowerShot SX260 HS can also be connected using a USB cable and in this case it is mounted automatically by gphoto2, allowing to see but also to move the pictures and videos from the camera to my computer hard drive.

Update on June 3, 2021: hibernation

My laptop regularly reboots during suspend on RAM. It does that often when I switch on or off the light of the room: it seems that an electrical perturbation is propagated through a USB hub, though it has no dedicated power source (maybe from the printer to the hub and then to the computer?). It is probably what is seen in the logs:
$ sudo journalctl | grep -C100 systemd-sleep
[…]
Sep 26 17:53:28 rama systemd-sleep[30695]: Suspending system...
Sep 26 17:53:28 rama kernel: PM: Syncing filesystems ... done.
Sep 26 17:53:28 rama kernel: PM: Preparing system for sleep (mem)
Sep 26 17:55:56 rama kernel: (NULL device *): firmware: direct-loading firmware iwlwifi-2030-6.ucode
Sep 26 17:55:56 rama kernel: Freezing user space processes ... (elapsed 0.001 seconds) done.
Sep 26 17:55:56 rama kernel: Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done.
Sep 26 17:55:56 rama kernel: PM: Suspending system (mem)
Sep 26 17:55:56 rama kernel: Suspending console(s) (use no_console_suspend to debug)
Sep 26 17:55:56 rama kernel: sd 1:0:0:0: [sdb] Synchronizing SCSI cache
Sep 26 17:55:56 rama kernel: sd 0:0:0:0: [sda] Synchronizing SCSI cache
Sep 26 17:55:56 rama kernel: sd 0:0:0:0: [sda] Stopping disk
Sep 26 17:55:56 rama kernel: sd 1:0:0:0: [sdb] Stopping disk
Sep 26 17:55:56 rama kernel: nouveau 0000:01:00.0: DRM: resuming kernel object tree...
Sep 26 17:55:56 rama kernel: nouveau 0000:01:00.0: DRM: resuming client object trees...
Sep 26 17:55:56 rama kernel: nouveau 0000:01:00.0: DRM: evicting buffers...
Sep 26 17:55:56 rama kernel: nouveau 0000:01:00.0: DRM: waiting for kernel channels to go idle...
Sep 26 17:55:56 rama kernel: nouveau 0000:01:00.0: DRM: suspending client object trees...
Sep 26 17:55:56 rama kernel: nouveau 0000:01:00.0: DRM: suspending kernel object tree...
Sep 26 17:55:56 rama kernel: PM: suspend of devices complete after 3536.794 msecs
Sep 26 17:55:56 rama kernel: PM: late suspend of devices complete after 19.707 msecs
Sep 26 17:55:56 rama kernel: pcieport 0000:00:1c.3: System wakeup enabled by ACPI
Sep 26 17:55:56 rama kernel: ehci-pci 0000:00:1d.0: System wakeup enabled by ACPI
Sep 26 17:55:56 rama kernel: ehci-pci 0000:00:1a.0: System wakeup enabled by ACPI
Sep 26 17:55:56 rama kernel: xhci_hcd 0000:00:14.0: System wakeup enabled by ACPI
Sep 26 17:55:56 rama kernel: PM: noirq suspend of devices complete after 20.035 msecs
Sep 26 17:55:56 rama kernel: ACPI: Preparing to enter system sleep state S3
Sep 26 17:55:56 rama kernel: ACPI : EC: event blocked
Sep 26 17:55:56 rama kernel: ACPI : EC: EC stopped
Sep 26 17:55:56 rama kernel: PM: Saving platform NVS memory
Sep 26 17:55:56 rama kernel: Disabling non-boot CPUs ...
Sep 26 17:55:56 rama kernel: Broke affinity for irq 31
Sep 26 17:55:56 rama kernel: smpboot: CPU 1 is now offline
Sep 26 17:55:56 rama kernel: Broke affinity for irq 16
Sep 26 17:55:56 rama kernel: Broke affinity for irq 27
Sep 26 17:55:56 rama kernel: Broke affinity for irq 28
Sep 26 17:55:56 rama kernel: Broke affinity for irq 31
Sep 26 17:55:56 rama kernel: Broke affinity for irq 33
Sep 26 17:55:56 rama kernel: smpboot: CPU 2 is now offline
Sep 26 17:55:56 rama kernel: Broke affinity for irq 1
Sep 26 17:55:56 rama kernel: Broke affinity for irq 9
Sep 26 17:55:56 rama kernel: Broke affinity for irq 12
Sep 26 17:55:56 rama kernel: Broke affinity for irq 16
Sep 26 17:55:56 rama kernel: Broke affinity for irq 23
Sep 26 17:55:56 rama kernel: Broke affinity for irq 26
Sep 26 17:55:56 rama kernel: Broke affinity for irq 27
Sep 26 17:55:56 rama kernel: Broke affinity for irq 28
Sep 26 17:55:56 rama kernel: Broke affinity for irq 31
Sep 26 17:55:56 rama kernel: Broke affinity for irq 33
Sep 26 17:55:56 rama kernel: smpboot: CPU 3 is now offline
Sep 26 17:55:56 rama kernel: ACPI: Low-level resume complete
[…]
I never found a way to stop this "wake-up on perturbation" behavior (for instance there is no dedicated option in the BIOS). So I just removed from the laptop the USB cable of the hub after suspend on RAM, as a workaround. But sometimes it wakes up anyway, and generally (always? I cannot be sure) the session is lost, a true reboot happens instead of giving back the previous session. This is very annoying, I think it is due to the power on/power off electronics that is a bit used (10 years old). One solution may be to hibernate systematically, such that this reboot does not prevent to recover my current work (though hibernation is a bit long to perform compared to suspend on RAM). But hibernation does not work all the time. My SWAP partition is large enough:
$ top
[…]
%Cpu(s):  4.1 us, 20.5 sy,  2.7 ni, 35.6 id, 35.6 wa,  0.0 hi,  1.4 si,  0.0 st
MiB Mem :   7858.2 total,    439.4 free,   2198.0 used,   5220.8 buff/cache
MiB Swap:   9536.0 total,   9487.0 free,     49.0 used.   4862.1 avail Mem
Indeed from here I understand that the SWAP partition should be at least as large as the RAM, this is the case. If the RAM content is larger that the available SWAP space (possible if some SWAP is used), according to this page "trashing" of SWAP content should occur. However I already observed problems of hibernation (error 128 when doing pm-hibernate) and the workaround I found was to close Firefox to free RAM: strange! And sometimes even this workaround did not work; but anyway I have considered to increase SWAP space; the previous page uses the interesting LVM commands lvs and lsblk:
$ sudo lsblk 
NAME                  MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
loop0                   7:0    0  55.5M  1 loop  /snap/core18/1997
loop1                   7:1    0 138.9M  1 loop  /snap/chromium/1589
loop2                   7:2    0  55.4M  1 loop  /snap/core18/2066
loop3                   7:3    0  64.8M  1 loop  /snap/gtk-common-themes/1514
loop4                   7:4    0 141.4M  1 loop  /snap/chromium/1608
loop5                   7:5    0 162.9M  1 loop  /snap/gnome-3-28-1804/145
loop6                   7:6    0  32.1M  1 loop  /snap/snapd/11841
loop7                   7:7    0  65.1M  1 loop  /snap/gtk-common-themes/1515
loop8                   7:8    0  32.1M  1 loop  /snap/snapd/12057
sda                     8:0    0  83.9G  0 disk  
├─sda1                  8:1    0   190M  0 part  /boot
├─sda2                  8:2    0     1K  0 part  
└─sda5                  8:5    0  83.7G  0 part  
  └─sda5_crypt        253:0    0  83.7G  0 crypt 
    ├─vg-lv_swap      253:1    0   9.3G  0 lvm   [SWAP]
    ├─vg-lv_root      253:2    0  30.5G  0 lvm   /
    ├─vg-vg_usrlocal  253:3    0    28G  0 lvm   /usr/local
    └─vg-lv_homelocal 253:4    0  15.9G  0 lvm   /home/local
sdb                     8:16   0   1.8T  0 disk  
└─sdb1                  8:17   0   1.8T  0 part  
  └─sdb1_crypt        253:5    0   1.8T  0 crypt /home
sr0                    11:0    1  1024M  0 rom   
$ sudo lvs
  WARNING: PV /dev/mapper/sda5_crypt in VG vg is using an old PV header, modify the VG to update.
  LV           VG Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  lv_homelocal vg -wi-ao----  15.91g                                                    
  lv_root      vg -wi-ao----  30.49g                                                    
  lv_swap      vg -wi-ao----   9.31g                                                    
  vg_usrlocal  vg -wi-ao---- <27.94g                                                    
and a way to simply increase the swap space without reboot:
$ swapoff -a
$ lvextend -L +2G /dev/mapper/vg-lv_swap
[…]
$ mkswap /dev/mapper/vg-lv_swap
[…]
$ swapon -a
By the way, note it is important to indicate to the kernel the SWAP partition for resume. As my LVM swap partition points to dm-1, I have first indicated in /etc/default/grub:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash resume=/dev/dm-1"
and then did update-grub. However it does not work; instead it is needed to set
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash resume=/dev/mapper/vg-lv_swap"
and after update-grub it resumes correctly.
Thus from this point of view LVM seems an interesting additional layer of abstraction. I cannot remember why and when I used LVM on my disks, probably it was done by the Debian partitioner in the text installer or by the OpenSuse partitioner, I cannot remember. There are various point of views on LVM: here, here. Yet finally I have not tried to increase SWAP space, because of another seemingly more important hardware problem: after the curious phenomenon of wake up and reboot during suspend or hibernation, these last days I was unable to get the laptop to start again, the power button was somewhat inactive during a period of time. It happened after a cycle of "self reboots" without any human action. A workaround I found was to disconnect and reconnect the power wire; but it seems that my computer approaches its end of life (10 years), and unfortunately it is not possible to repair a laptop. Thus instead of suffering these problems and wait for this old laptop to no more starting forever (and be some days without computer), I decide to: