dimanche 20 décembre 2020

Installateur Ubuntu 20.10 crash

 L’installateur Kubuntu 20.10 se plante quasi à la fin de l'installation, lorsqu'il est question du boot loader.

En fait il recherche une partition EFI qu'il ne trouve pas. C'est assez fréquent sur des anciennes configuration.

Ce bug ne sera pas réparé avant la version 21.04

Une solution consiste à brancher un disque dur externe USB qui contient une telle partition, même si ce disque externe ne contient aucun système d'exploitation et si Ubuntu va être installé ailleurs, sur un disque interne.

Pour ma part j'ai créé cette partition EFI avec gparted. En image ses caractéristiques:




La partition en question doit être au début du disque, mais pas nécessairement tout au début (d'ailleurs en /dev/sdc1 j'ai une partition bios_grub).

Et miracle: tout se passe bien cette fois pour autant que le disque dur externe soit branché avant le boot.

Au premier redémarrage, après l’installation réussie d'Ubuntu, il faudra que ce disque externe soit encore branché.

Ensuite il faut enlever (ou commenter) tout ce qui dans /etc/fstab se rapporte à ce disque externe.

Par exemple:

# /boot/efi was on /dev/sdc2 during installation
#UUID=C374-6771  /boot/efi       vfat    umask=0077    

# swap was on /dev/sdc3 during installation
#UUID=0bc02099-0418-4c46-a30d-33b73f8bda07 none  swap    sw  

Et puis plus besoin du disque externe, même si l’installateur a écrit dans cette partition EFI.

mardi 15 décembre 2020

Chromium et linux mint

Depuis quelque temps, Ubuntu impose que chromium soit installé à partir d'un paquet snap. Le paquet deb traditionnel est en fait un paquet de transition. 

Linux Mint dérive de Ubuntu, le problème est que Linux Mint ne veut pas de snap: il en résulte des problèmes pour ceux qui veulent installer chromium.

Ces problèmes peuvent être contournés via l'ajout d'un ppa par la commande:

sudo add-apt-repository ppa:xalt7x/chromium-deb-vaapi

Mais une bonne nouvelle est arrivée: chromium est enfin disponible via flatpak, comme on peut le constater en exécutant la commande

flatpak search chromium

En image:


Donc plus besoin de ppa, installons via flatpak avec la commande:

sudo flatpak install org.chromium.Chromium

Bien sûr cela suppose que flatpak est déjà opérationnel avec le dépôt flathub activé (ce qui est en principe le cas dans linux mint).

Tout semble bien parti, mais ce message tue notre enthousiasme:

Error: org.chromium.Chromium needs a later flatpak version

A moi le ppa qui convient, fournissant une version plus récente de flatpak:

sudo add-apt-repository ppa:alexlarsson/flatpak

Puis:

sudo apt update 

sudo apt upgrade

Ensuite flatpak ayant changé de version

sudo flatpak uninstall --unused

Output chez moi:

       ID                                           Branch          Op

 1. [-] org.freedesktop.Platform.GL.default          19.08           r

 2. [-] org.freedesktop.Platform                     19.08           r

 3. [-] org.freedesktop.Platform.Locale              19.08           r


Maintenant l'installation de chromium via la commande flatpak se déroule sans encombres.

Notons quand même qu'avec Fedora ou Ubuntu 20.10  et d'autres distributions encore, il n'y aurait pas eu de problèmes concernant la version de flatpak.

dimanche 8 novembre 2020

flatpak: downgrade provisoire de wps-office

J'ai dans cet article expliqué comment installer wps-office avec flatpak. L'avantage, outre le fait de garder wps-office à jour, était de pouvoir choisir une interface en français. Cette possibilité a actuellement disparu. Mais pas de panique: il suffit d'effectuer un downgrade de wps-office, de récupérer cette interface pour ensuite l'utiliser avec la nouvelle version de wps-office. Je vais montrer comment procéder.

Tout d'abord rechercher la version qui nous intéresse (on procède dans un émulateur de terminal):

flatpak remote-info --log flathub com.wps.Office

L'output est conséquent:


Je choisis le commit

ba2ffc297b6f827ea285d20d1e699793af2fb53cc102e7015593db8d2f75d438

correspondant à la version 11.1.0.9522.
j'installe cette version:

sudo flatpak update --commit=ba2ffc297b6f827ea285d20d1e699793af2fb53cc102e7015593db8d2f75d438 com.wps.Office

Ensuite je vais là où se trouve l'interface en français:

cd /var/lib/flatpak/app/com.wps.Office/current/active/files/share/wps/office6/mui

Je procède à une copie de cet interface après avoir créer un dossier de sauvegarde:

mkdir ~/wps-mui
cp -R fr_FR ~/wps-mui/

Je réinstalle la nouvelle version de wps-office:

sudo flatpak update

Ensuite je copie l'interface où il convient:

cd /var/lib/flatpak/app/com.wps.Office/current/active/files/extra/wps-office/office6/mui/
sudo cp -R ~/wps-mui/fr_FR .

(Le point de la commande est important: il est mis pour le répertoire où on est)

Certains modules installés avec l'ancienne version sont devenus inutiles. On peut les enlever:

sudo flatpak uninstall --unused

Pour la vérification orthographique, rien de changé par rapport à ce que j'ai écrit ici :

Pour rappel le dictionnaire peut s'installer avec la commande:

sudo unzip fr_FR.zip -d /var/lib/flatpak/app/com.wps.Office/current/active/files/extra/wps-office/office6/dicts/spellcheck/

pour autant que l'on soit là où se trouve le fichier zip, où alors il faut indiquer le chemin complet vers ce fichier.

dimanche 31 mai 2020

Libreoffice avec flatpak et postgresql

Voulant utiliser la dernière version de libreoffice, j'ai choisi une installation via flatpak.
J'ai procédé en ligne de commande:

$ sudo flatpak install flathub org.libreoffice.LibreOffice

Ceci suppose que certaines manipulations ont dèjà été effectuées, comme l'installation de flatpak, du dépôt flathub....

Je voulais cette dernière version à cause d'un bug dans base: je vais donc d'abord essayer d'établir une connexion à une base de données postgresql nommée bdtest.
Je lance libreoffice base et passe par les étapes suivantes:




Il reste à tester la connexion:


Aie: le serveur accepte les connexions sur le socket /var/run/postgresql/.s.PGSQL.5432.
Je modifie l'entrée unix_socket_directories du fichier postgresql.conf:

unix_socket_directories = '/var/run/postgresql, /tmp'

Après un redémarrage du serveur, en exécutant la commande

$ sudo netstat -nlp | grep 'PGSQL'

nous constatons l'existence de deux sockets:


Mais rien de changé: toujours la même erreur!
N'oublions pas qu'il sagit d'une version flatpak de libreoffice: certains droits sont regis par le bac à sable dans lequel libreoffice tourne. Une documentation au sujet de ces droits existe ici.
On y trouve les infos:

These directories are blacklisted: /lib, /lib32, /lib64, /bin, /sbin, /usr, /boot, /root, /tmp, /etc, /app, /run, /proc, /sys, /dev, /var
These directories are mounted under /var/run/host: /etc, /usr

Je donne accès à /tmp:

$ sudo flatpak override org.libreoffice.LibreOffice --filesystem=/tmp

Cette fois ça fonctionne: je peux me connecter.

Si je ne veux pas toucher au bac à sable, j'ajoute host=localhost après le nom de la base de données:


ce qui oblige à une connexion via la boucle locale, donc sans utilisation de socket et sans accès à /tmp.
Dans pg_hba.conf, je remplace dans la ligne adéquate md5 par ident (car je ne veux pas entrer de mot de passe):

# "local" is for Unix domain socket connections only
local   all             all                                     peer map=map01
# IPv4 local connections:
host    all             all             127.0.0.1/32            ident map=map01

Redémarrage de postgresql et puis:


Caramba: encore raté.

En fait il faut installer oidentd:

$ sudo apt install oidentd

Je vais maintenant essayer une connexion java. Avant tout, il faut agir au niveau des options java de libreoffice: passer par 'Chemins de classe', puis ajouter une archive: /var/run/host/usr/share/java/postgresql.jar:


(On se rappelle que dans le bac à sable /usr est monté dans /var/run/host/)

Ensuite:




Aie: problèmes d'authentification avec ident:


Il faut ajouter
-Djava.net.preferIPv4Stack=true
aux paramètres de démarrage java:


Et ça fonctionne.

On peut aussi remplacer ident par md5.
Attention le mot de passe à fournir est un mot de passe postgresql, qui peut par exemple être fixé dans un terminal psql:








samedi 30 mai 2020

Deuxième service postgresql

J'installe postgresql 10, je pousuis par la création d'un utilisateur et d'une base de données (bdtest).
Ensuite j'effectue quelques petits changements sur les fichiers pg_hba.conf et pg_ident.conf (situés dans /etc/postgresql/10/main/ ou ailleurs, ça dépend des distributions). Ces changements nécessitent un redémarrage de postgresql.

$ sudo systemctl restart postgresql

Problème:

$ psql bdtest
psql: could not connect to server: Aucun fichier ou dossier de ce type
 Is the server running locally and accepting
 connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?

Pas de soucis, la commande suivante va me donner les info adéquates:

$ systemctl status postgresql

● postgresql.service - PostgreSQL RDBMS
   Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled)
   Active: active (exited) since Wed 2020-05-27 17:04:51 +04; 2min 20s ago
  Process: 3277 ExecStart=/bin/true (code=exited, status=0/SUCCESS)
 Main PID: 3277 (code=exited, status=0/SUCCESS)

mai 27 17:04:51 michel-rigel systemd[1]: Starting PostgreSQL RDBMS...
mai 27 17:04:51 michel-rigel systemd[1]: Started PostgreSQL RDBMS.

Tous semble normal.
Il y a quand même un gros problème:

$ ss -nlt | grep 5432

Aucun retour!
Je continue à investiguer:

$ systemctl list-units postgresql*
  UNIT                       LOAD   ACTIVE SUB    DESCRIPTION               
  postgresql.service         loaded active exited PostgreSQL RDBMS          
● postgresql@10-main.service loaded failed failed PostgreSQL Cluster 10-main

En fait un deuxième service s'est planté.

La commande

$ systemctl status postgresql@10-main

donne maintenant les infos qui permettent de corriger le problème (une erreur dans pg_hba.conf).
Je corrige l'erreur puis

$ sudo systemctl restart postgresql

et ça repart.

mardi 25 février 2020

wps pdf

Les nouvelles versions de wps office offrent la particularité de pouvoir ouvrir des pdf. Mais aucune interface en français n'est prévue.


Ce n'est pas tellement handicapant car il s'agit seulement de lire des pdf.
Cependant si je désire imprimer:




Aie! C'est en chinois.
Mais ce n'est pas le cas si l'anglais américain (en_US) est choisi au niveau de writer. Je désire malgré tout conserver l'interface en français au niveau de writer, de la feuille de calcul, de présentation.
Voici la manip à effectuer (dans un terminal):

sudo -i

Pour devenir root (administrateur), ensuite:

cd /opt/kingsoft/wps-office/office6/mui/
cp -i en_US/pdf.qm default/

Et voilà!


Ceci si wps office a été installé à partir d'un paquet classique (deb ou rpm)

Si un paquet flatpak a été uitilisé la commande cd (change directory) est différente

cd /var/lib/flatpak/app/com.wps.Office/current/active/files/extra/wps-office/office6/mui

La manip ci-dessus (copier un fichier là où ça convient) peut s'effectuer également sous interface graphique (mais il faut procéder en root).

Avec flatpak, en cas de mise à jour du produit, il faut recommencer (tout comme pour le dictionnaire, voir ici)

Actuellement la version de wps office qui vient avec un paquet snap est une ancienne version, sans lecture de pdf.