Problème d’emballement des processeurs dans KDE

J’utilise KDE maintenant depuis quelques mois et j’en suis plus que satisfait. Il y a néanmoins un problème récurrent qui emballe les processeurs et donc la ventilation : c’est associé à un process nommé baloo_file_extractor.

Après enquête, il s’avère qu’il s’agit d’une « feature » de KDE qui consiste en la mise à jour d’une base de données (« dossier recherche ») pour retrouver des fichiers plus facilement. Cela peut être pratique mais sur un ultraportable c’est vite agaçant.

Pour s’affranchir de ce problème il faut donc aller dans la « Configuration du système », rubrique « Espace de travail/Démarrage et arrêt ». Les « Services d’arrière-plan s’affichent, et il faut désactiver la « Mise à jour du dossier Recherche », à la fois dans les « Services à la demande » et dans les « Services au démarrage ».

Putty dans un environnement linux

J’ai régulièrement besoin de me connecter sur mes serveurs Odroid pour faire de la maintepour nance ou autres opérations. Or depuis que j’ai installé Manjaro KDE sur mon ordi portable, j’en ai profité pour installer putty en tant qu’interface de connexion SSH.

Le probème avec putty, c’est que par défaut, il ne se comporte pas très bien, en tous cas pas aussi bien que sur un terminal linux. C’est vrai en particulier pour l’utilisation de mc, car les touches de fonction ne fonctionnent pas et la souris non plus. J’ai néanmoins trouvé les réglages qui vont bien.

  • Pour les touches de fonction, il faut basculer la « Backspace key » sur « Control-H »
L’attribut alt de cette image est vide, son nom de fichier est image.png.
  • Pour la souris, il faut modifier le fichier /etc/environment distant et y ajouter la ligne « TERM=xterm »

D’autres configurations de putty peuvent également aider : par exemple

  • Positionner le « Terminal type string » à putty-256color

Et évidemment, utiliser une authentification par clé pour une sécurité accrue et un login automatique. Néanmoins, il convient de remarquer que putty utilise un format de clé particulier (.ppk) qui doit être généré par un outil spécifique : puttygen. Plus d’informations ici.

Installation de Manjaro sur un PC portable HP Spectre X360

Installation d’une solution de rotation automatique
Sur l’ordinateur portable HP Spectre X360, l’écran est tactile, et peut se retourner de façon à utiliser le portable comme une tablette (le clavier se retrouve alors derrière). Plusieurs solutions existent pour permettre le retournement automatique sous KDE, cf https://wiki.archlinux.org/index.php/Tablet_PC.

D’expérience, la rotation automatique sous Ubuntu/Gnome est activée, mais pas sous Manjaro/KDE. La solution kded_rotation, décrite sur le wiki de Archlinux, fonctionne très bien, moyennant qu’on ne se connecte pas sur une session Plasma Wayland : la brique de remplacement de XServer n’est en effet pas encore parfaitement opérationnelle, en particulier quand on veut utiliser des écrans qui pivotent, des claviers tactiles etc.

Installation d’Onboard
Quand on se retrouve en mode tablette, il est indispensable d’avoir un clavier tactile pour interagir avec l’ordinateur. Pour l’instant, la meilleure solution existante est Onboard, un programme sous Gnome mais qui fonctionne très bien (mieux ?) sous KDE. L’installation est immédiate avec pacman, et la configuration simple à comprendre. Attention, celle-ci permet en théorie d’activer l’écriture par « glissé du doigt », cependant cela ne fonctionne pas correctement et cela fait planter Onboard. En dehors de ce problème, il en existe un autre que j’ai réussi à contourner : en effet, même en activant Onboard en français, il commute sur l’anglais dès la première frappe, ce qui est … gênant. Il est possible de contourner ce bug en utilisant la commande suivante :

setxkbmap fr

Il suffit de l’ajouter au .bash_profile du répertoire « home » et le bug disparait.
Il existe aussi une interface tactile sous Qt mais qui n’interagit pour l’instant qu’avec les applications Qt ou KDE, donc ne fonctionne pas avec les applis Gnome par exemple (exit firefox, libreoffice etc.). Il est quand même intéressant d’installer cette interface car quand on verrouille le portable en mode tablette, on peut y faire appel pour taper le mot de passe de déverrouillage. Pour ceci il faut installer le paquet qt5-virtualkeyboard.

Firefox en mode tactile
Par défaut, la fonction tactile de Firefox n’est pas activée. Pour ce faire, il est nécessaire de réaliser la commande suivante

sed -i "s|Exec=|Exec=env MOZ_USE_XINPUT2=1 |g" /usr/share/applications/firefox.desktop

Cette commande ajuste une variable d’environnement au démarrage de firefox qui permet de démarrer celui-ci en mode tactile. Le problème, c’est que à chaque réinstallation ou mise à jour du navigateur, le fichier firefox.desktop est remis à 0 et il faut refaire l’opération, ce qui est pénible. J’ai donc ajouté un bout de script dans /etc/rc.local qui ajoute « env MOZ_USE_XINPUT2=1 » uniquement si cette variable n’est pas présente dans le fichier desktop. Evidemment cela induit qu’il faut faire un redémarrage pour que cela ait un effet. Il suffit de coller le bout de code suivant dans /etc/rc.local, avant le « exit 0 » :

#####################################################
# This is to add the touchscreen ability to firefox # 
#####################################################
if cat /usr/share/applications/firefox.desktop | grep MOZ ; then
    true
else
    sed -i "s|Exec=|Exec=env MOZ_USE_XINPUT2=1 |g" /usr/share/applications/firefox.desktop
fi

Test – validé – de la distribution Linux « Manjaro »

Ces derniers jours, j’ai souhaité tester la dernière version de l’environnement graphique KDE. En fouillant sur la toile, il m’a également semblé que l’une des distributions bien adaptée à ce DE (environnement graphique de bureau) n’était pas nécessairement KUbuntu : Manjaro testé Manjaro Linux.

Cette distribution est proposée prépackagée avec KDE (d’autres versions sont également disponibles).

L’installation se fait d’une façon aussi simple qu’avec Ubuntu, l’interface graphique étant très similaire.

Dès le premier redémarrage le système est parfaitement fonctionnel. je redécouvre KDE après plusieurs années, et c’est une énorme surprise. L’interface peut paraître confuse, mais c’est parce qu’elle est très riche, bien plus que Gnome. Je ne jetterais pas que Gnome au feu, il a toute sa place de par sa simplicité (je ne passerais certainement pas ma mère de Gnome (Ubuntu) sur KDE quelle que soit la distribution. Ceci dit, pour un amateur éclairé, un geek, KDE est bien plus enthousiasmant.

Je découvre en particulier les « plasmoïdes », ces sortes de widgets associés à Plasma, l’environnement graphique de base de KDE. Ils sont nombreux et permettent très facilement de se formater un bureau « aux petits oignons ».

Autre exemple, Latte Dock. Ce dock est très similaire au dock d’Apple, ou au dock de Gnome « Dash toDock ». Mais pour une raison de conception interne au DE j’imagine, le dock de Gnome ne fonctionnait pas bien chez moi (un portable HP X360 Spectre avec un i5 de 5e génération, et 8 Go de RAM), alors que Latte Dock est d’une fluidité déconcertante. Ci-dessous une image de mon bureau actuel :

 

Bureau KDE

Bref, pour mon portable je vais rester sur Manjaro et surtout sous KDE. Je mettrai prochainement quelques trucs pour « tuner » ce type d’installation sur un portable comme le mien (qui peut se replier comme une tablette).

Installation d’un client VPN pour utiliser transmission (gestion de torrents) de façon anonyme

Ayant trouvé ce tutoriel plutôt bien fait :

https://mondedie.fr/d/5933-Tuto-Faire-passer-le-traffic-bitTorrent-dans-un-tunnnel-VPN,

Je m’en suis inspiré  pour décrire comment installer correctement un client VPN avec un abonnement PureVPN et pour l’utilisation de transmission sur Ubuntu Server (sur un serveur HC1 de Hardkernel) :

1) Installer openvpn sur le serveur :

eric@boston:/home/eric$ sudo apt-get install openvpn

2) Créer une table de routage pour le VPN :

eric@boston:/home/eric$ mv /etc/openvpn eric@boston:/etc/openvpn$ sudo echo 1 VPN >> /etc/iproute2/rt_tables 

 

3) Editer le fichier /etc/network/interfaces :

eric@boston:/etc/openvpn$ sudonano /etc/network/interfaces

A supposer que votre réseau interne est en 192.168.1.x, il faut créer une deuxième boucle locale sur un autre réseau non accessible du principal, par ex. 192.168.0.x ou 10.0.0.x etc. Dans ce cas, ajouter le bloc ci-dessous dans le fichier interfaces :

auto lo:1
        iface lo:1 inet static
        address 192.168.0.1
        netmask 255.255.255.255

4) Télécharger les fichiers de conf de PureVPN :

eric@boston/etc/openvpn$ sudo wget 'https://s3-us-west-1.amazonaws.com/heartbleed/linux/linux-files.zip

5) Extraire le fichier linux-files.zip dans /etc/openvpn et renommer le dossier PureVPN :

eric@boston/etc/openvpn$ sudo unzip linux-files.zip && mv Linux\ OpenVPN\ Updated\ Files PureVPN 

6)  Créer les lien symbolique suivant dans le répertoire /etc/openvpn :

eric@boston:/etc/openvpn$ sudo ln -s PureVPN/UDP/Belgium-udp.ovp client.conf

Le lien est ici en exemple sur le serveur UDP belge mais on peut bien entendu choisir n’importe lequel des serveurs du dossier (ou du côté TCP c’est possible aussi).

5) Créer le répertoire scripts dans /etc/openvpn et créer les scripts checkVPN, up.sh et down.sh :

eric@boston:/etc/openvpn$ sudo mkdir scripts
eric@boston:/etc/openvpn$ sudo vi scripts/checkVPN 
eric@boston:/etc/openvpn$ sudo vi scripts/up.sh
eric@boston:/etc/openvpn$ sudo vi scripts/down.sh
eric@boston:/etc/openvpn$ sudo chmod +x scripts/

Insérer le contenu de checkVPN  dans checkVPN, celui de down dans down.sh et celui de up dans up.sh. Il faut bien entendu adapter la valeur du réseau de la boucle locale dans ces fichiers en fonction de votre propre configuration, cf point 3) ci-dessus.

6) Créer un fichier pass.txt et un lien symbolique sur ce fichier qui contiendra les informations de connexion fournies par PureVPN :

eric@boston:/etc/openvpn$ sudo vi PureVPN/pass.txt
eric@boston:/etc/openvpn$ sudo ln -s PureVPN/pass.txt PureVPN/pass

Contenu de pass.txt sur deux lignes, la première étant le login et la deuxième le pot de passe, par exemple  :

purevpnXYZabc
VPN123456

7) Sécuriser le fichier pass.txt :

eric@boston:/etc/openvpn$ sudo chmod 700 PureVPN/pass.txt

8) Adapter la configuration du fichier de conf du serveur :

client
dev tun
proto udp
route-nopull
script-security 2
up /etc/openvpn/scripts/up.sh
down /etc/openvpn/scripts/down.sh
remote be1-ovpn-udp.pointtoserver.com 53
resolv-retry infinite
keepalive 10 60
persist-key
persist-tun
ns-cert-type server
ca /etc/openvpn/PureVPN/ca.crt
tls-auth /etc/openvpn/PureVPN/Wdc.key 1
cipher AES-256-CBC
auth-user-pass /etc/openvpn/PureVPN/pass
auth-retry nointeract
comp-lzo
verb 1
explicit-exit-notify 2
mute 20
ifconfig-nowarn

9) Configurer transmission-daemon pour qu’il utilise le tunnel VPN :

a) Arrêter le daemon :

eric@boston:/etc/openvpn$ sudo service transmission-daemon stop

b) Editer la configuration de transmission. Le fichier settings .json peut éventuellement se situer à un autre endroit.

eric@boston:/etc/openvpn$ sudo nano /var/lib/transmission-daemon/.config/transmission-daemon/settings.json

c) Modifier la configuration « bind-address-ipv4 » pour y déclarer la boucle locale mise en place dans le point 3) :

"bind-address-ipv4": "192.168.0.1",

 

10) Lancer le serveur openvpn :

eric@boston:/etc/openvpn$ sudo service openvpn start

En théorie, le serveur openvpn se lance, se connecte au serveur de PureVPN, et lance automatiquement le serveur transmission-daemon. Il est toujours possible de vérifier que tout fonctionne bien :

1) en tentant une connexion de l’extérieur (d’internet) sur la box (si celle-ci a une adresse dynamique par exemple), elle doit être accessible. Sinon cela signifie que tout le réseau passe par le VPN et pas seulement transmission.

2) En démarrant un téléchargement de torrent « CheckMyTorrent » :

https://torguard.net/checkmytorrentipaddress.php?hash=5b7c19bd6b427b8fb87f80c74e5c1e6e441f31ba

Le torrent, dans le programme de gestion de torrent (transmission-remote dans mon cas par exemple) doit afficher un message d’erreur (normal) ainsi qu’une adresse IP  : si cette adresse n’est pas celle de la box internet, c’est gagné !

 

Association box TS3 Thunderbolt de CalDigit

Pour associer correctement une telle station d’accueil sur un Ubuntu 17.10 il convient de réaliser l’opération suivante (cf la page Thunderbolt sur The Linux Kernel) :
# echo 1 > /sys/bus/thunderbolt/devices/0-0/nvm_authenticate
Ceci est indispensable pour « autoriser » la station. Dans mon cas, il s’agit d’une station CalDigit TS3 : http://www.caldigit.com/thunderbolt-3-dock/.

Par la suite, pour pérenniser cette action à chaque reboot il faut ajouter la tâche crontab suivante :
@reboot echo 1 > /sys/bus/thunderbolt/devices/0-0/nvm_authenticate Ainsi la station d’accueil sera autorisée à chaque démarrage du portable.

Ou alors, ce qui est plus radical mais moins « secure » :

Editer la ligne /etc/udev/rules.d/99-local.rules et y ajouter :

ACTION=="add", SUBSYSTEM=="thunderbolt", ATTR{authorized}=="0", ATTR{authorized}="1"

Pour l’instant, le double-écran, la prise RJ45 ethernet et les ports USB fonctionnent très bien. Il me reste à tester le port SATA intégré à cette station qui par ailleurs semble de très bonne qualité.

Pour éviter que le portable ne s’éteigne quand on le ferme alors qu’il est connecté au dock, il faut également modifier le fichier /etc/systemd/logind.conf pour positionner la variable HandleLidSwitchDocked :

HandleLidSwitchDocked=ignore