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.

mardi 15 octobre 2019

Convertir avec vlc

Vlc est surtout utilisé pour lire des vidéos, mais on peut aussi s'en servir pour changer le format d'un fichier vidéo.
Je commence par le menu 'Média->Convertir/Enregistrer':


Ensuite je choisis les fichiers dont je veux changer le format:



Et le format désiré après un appui sur 'Convertir/enregistrer':


Un appui sur 'Démarrer' et c'est parti.

Aie:


Pour avoir plus d'infos, je relance vlc en ligne de commande (depuis un émulateur de terminal):

 

Effectivement, avant le message fatal (cannot open VP80...), je trouve des explications intéressantes:

[libvpx @ 0x7f1df80d42e0] [Eval @ 0x7f1e065f8ec0] Invalid chars '.0' at the end of expression '1.0'
[libvpx @ 0x7f1df80d42e0] Unable to parse option value "1.0"
[libvpx @ 0x7f1df80d42e0] Error setting option qsquish to value 1.0.
[00007f1df800cb60] avcodec encoder error: cannot open VP80 video encoder
[00007f1e0ca40b90] stream_out_transcode stream out error: cannot find video encoder (module:any fourcc:VP80). Take a look few lines earlier to see possible reason.

Tout ça parce que les américains, les anglais et d'autres permutent 'point' et 'virgule' dans l'écriture chiffrée des nombres.
Par exemple, ils écrivent mille comme ceci: '1,000'

En fait il faut lancer vlc avec la commande: LC_NUMERIC=C vlc et tout se passe bien.

Si on écrivait LC_ALL=C vlc, tout se passerait bien également, mais vlc serait entièrement en anglais.

Pour ceux qui ne savent pas comment trouver un émulateur de terminal, il suffit de faire une recherche avec 'ter' parmi les applications (dans ubuntu par exemple):


samedi 10 août 2019

chromium widevine

Widevine permet de lire certains contenus protégés.

Avec chrome ou avec firefox, c'est déjà inclus, mais pas avec chromium.

Résolution du problème:

Tout d'abord je télécharge ici les fichiers qui conviennent.

Ensuite (dans un terminal)

$ cd
$ cd Téléchargements
$ sudo unzip 4.10.1440.18-linux-x64.zip -d /usr/lib/chromium-browser/




Le répertoire de décompression peut varier d'une distribution à l'autre.
La version de widevine peut aussi varier et le lien donné ici pointera dans le futur vers une ancienne version.

Je relance chromium et ça fonctionne (pour moi et avec ubuntu).

Dans opensuse, on peut procéder comme ci-dessus mais on décompressera le zip dans /usr/lib64/chromium/ (système 64 bits)
Si le dépôt packman (ou packman-essentials) est actif, il suffit d'installer le paquet  chromium-plugin-widevinecdm.

EDIT: Dans Ubuntu 19.10, chromium vient avec un snap.
La démarche à suivre est:

$ mkdir  ~/snap/chromium/current/.local/lib/ 
$ cd
$ cd Téléchargement
$ unzip 4.10.1440.18-linux-x64 -d ~/snap/chromium/current/.local/lib/

dimanche 28 juillet 2019

wps office avec flatpak sous kde

Dans le post précédent, qui traitait de l'installation de wps-office avec flatpak, j'ai notamment montré comment éviter la ligne de commande. Mais évidemment ça dépend de l'environnement graphique utilisé. Il s'agissait de gnome, environnement graphique par défaut de Ubuntu, Fedora et de beaucoup d'autres distributions. Je vais maintenant montré ce qu'il en est avec kde, environnement de bureau de kubuntu par exemple.
Tout d'abord j'ouvre 'discover' et j'effectue une recherche basée sur 'flatpak':


Je peux alors installer flatpak ainsi que le moteur de flatpak (en fait plasma-discover-flatpak-backend). puis je ferme discover.
Dans Fedora kde ce n'est pas nécessaire car flatpak et plasma-discover-flatpak sont installés automatiquement.
Je télécharge depuis cette page, le fichier flathub.flatpakrepo.
Il est indiqué que cela concerne Fedora, mais ce fichier est le même pour les autres distributions.
Je lance le gestionnaire de fichier (dolphin) et je navigue jusqu'au dossier où se trouve le fichier téléchargé et je l'ouvre pour installation avec discover :




Ensuite je lance une recherche (dans discover) sur wps office:



Les 3 dernières propositions concernent des paquets snap. snap est installé par défaut chez Ubuntu, chez Fedora c'est le contraire: flatpak est installé automatiquement mais pas snap.
Pourquoi ne pas installer un paquet snap?
Comme je l'ai déjà expliqué, il n'existe pas actuellement de paquet snap pour la dernière version de wps-office (mais bien des paquets traditionnels deb ou rpm).
Je clique sur la première proposition que j'ai ensuite la possibilité d'installer:


C'est relativement long, surtout s'il s'agit de la première installation avec flatpak. De plus on n'a aucune info sur ce qui se passe: c'est pourquoi je préfère de loin une installation en ligne de commande.
Pour la vérification orthographique je télécharge ici le zip qui convient.
Je copie la commande

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

Ensuite après avoir navigué avec dolphin jusqu'au dossier où se trouve le zip téléchargé j'appuie sur F4, ce qui ajoute à la fenêtre une zone où je peux coller ma commande. Pour ce faire je clique droit dans cette zone et dans le menu contextuel qui surgit je choisis 'coller':


J'appuie sur 'Enter' et mon mot de passe est demandé. Rien n'est affiché pendant que je le tape (pas d'étoiles). Je termine la saisie de ce mot de passe par un nouvel appui sur 'Enter'. La commande s'exécute alors. Un nouvel appui sur F4 remettra dolphin dans son état initial.

Et voilà. Il reste à basculer vers une interface en français, ainsi que de définir le français par défaut pour la vérification orthographique.
Tout ceci est expliqué dans le post précédent.

J'oubliais: il se pourrait que les entrées wps n'apparaissent pas tout de suite dans le menu. Mais tout rentrera dans l'ordre lors d'une nouvelle session.

Il peut y avoir des mises à jour 'flatpak' même si la version du programme ne change pas:


Dans ce cas, il faut réinstaller le dictionnaire.