Visionneur de bureaux distants Gitso
Comme d'autres visionneurs de bureau à distance, Gitso est un logiciel permettant de se connecter à distance, à travers une interface graphique, à un serveur d'affichage. De cette manière, vous affichez sur votre propre écran ce que vous verriez à l'écran d'un autre ordinateur.
Contrairement à la plupart des autres solutions, Gitso utilise le reverse VNC, c'est à dire que le serveur est la machine de la personne qui aide et le client - qui va se connecter au serveur - est la machine de la personne aidée. C'est donc le serveur (l'ordinateur qui prend la main) qui devra ouvrir le port TCP 5500 correspondant au protocole VNC. Ceci permet à un utilisateur confirmé ("serveur", le dépanneur) d'aider un utilisateur parfaitement novice ("client", ordinateur dépanné). Le "client" (le dépanné) aura pour seule mission d'installer Gitso (si cela n'a pas été fait en amont), de le lancer et de saisir l'adresse IP du "serveur" (le dépanneur).
Gitso utilise le protocole VNC. C'est un logiciel libre, multi-plateforme, sous licence GNU GPL v3.
En 2020, le logiciel n'est plus développé depuis plusieurs années, mais il est toujours fonctionnel (?), et toujours présent dans les dépôts officiels Ubuntu (version 20.04).
Pré-requis
- Disposer des droits d'administration.
- Disposer d'une connexion à Internet configurée et activée.
Installation
Il suffit d'installer le paquet gitso sur les 2 PC (le dépanneur et le dépanné).
Utilisation côté serveur (aidant)
Lancer l'application par votre menu des applications (ou en tapant son nom dans un terminal).
Le PC qui veut prendre la main (le "serveur"), doit d'abord ouvrir son port TCP 5500 correspondant au port par défaut du protocole VNC. Ceci se configure au niveau du pare-feu.
Le serveur cochera la case Give Support (venir en aide) puis Start (commencer) pour lancer le serveur qui va écouter sur le port 5500.
Il lui faut ensuite communiquer son adresse IP à l'utilisateur côté "client" (par téléphone, mail, irc, fax, signaux de fumée…).
Depuis un terminal, avec curl :
curl ifconfig.me
ou avec wget :
wget http://checkip.dyndns.org/ -O - -o /dev/null | cut -d: -f 2 | cut -d' ' -f 2 | cut -d\< -f 1
Autre solution, pour connaître l'adresse IP du poste serveur : naviguer sur un site tel que anonymat.org ou mon-ip.com ou mon-ip-addresse.com.
Utilisation côté client (aidé)
Le client, qui veut être aidé, n'a aucune intervention à faire sur la configuration de son pare-feu. Il n'a qu'à exécuter Gitso, laisser cochée la case Get Help (obtenir de l'aide, cochée par défaut), saisir l'IP du serveur qui va l'aider et enfin Start (commencer).
Après quelques secondes, une fenêtre contenant le bureau du client va apparaître sur le poste serveur : c'est à lui de jouer !
Problème connu
Pas de bouton Start
Si la fenêtre de connexion ne comporte aucun bouton "Start", il suffit de valider en tapant sur la touche "Entrée" du clavier.
Le fait que les boutons "Start" et "Stop" n'apparaissent pas est lié au fait que la taille de la fenêtre de Gitso est définie en valeur absolue, l'unité étant le pixel. Il en résulte que, selon votre résolution d'écran, cette taille ne sera pas assez importante pour faire tenir tous les éléments de la fenêtre. En effet, la taille de ces éléments est relative à la résolution.
Avec des résolutions d'écran élevées, ce ne sont donc pas seulement les boutons "Start" et "Stop" qui sont manquants mais ce peut être aussi l'option "Give support" qui sera partiellement ou en totalité masquée, ce qui est plus problématique.
Une solution pour remédier à ce problème et récupérer l'affichage de l'intégralité des éléments constitutifs de la fenêtre de Gitso, c'est d'éditer le fichier /usr/share/gitso/ConnectionWindow.py qui définit la taille de sa fenêtre.
On prendra donc d'abord soin d'effectuer une copie de sauvegarde de ce fichier, en ouvrant un terminal puis en y entrant la commande suivante :
sudo cp /usr/share/gitso/ConnectionWindow.py /usr/share/gitso/ConnectionWindow.py.BKP
On pourra ensuite éditer le fichier qui nous intéresse. Par exemple, en mode graphique, avec l'éditeur de texte gedit comme ceci :
sudo -H gedit /usr/share/gitso/ConnectionWindow.py
Repérer alors le bloc suivant du fichier qui débute à la ligne n°53 :
if re.match('(?:open|free|net)bsd|linux',sys.platform): width = 165 height = 350 xval1 = 155 xval2 = 250 else: height = 175 width = 350 xval1 = 180 xval2 = 265
Ce bloc indique que si le système d'exploitation est une variante de BSD ou de GNU+Linux, alors la fenêtre adopte une certaine taille et position, sinon elle en adopte une autre.
Il s'agit donc ici (puisque nous utilisons un système GNU+Linux) de modifier la valeur de la première ligne commençant par width (qui signifie largeur) et qui correspond à la ligne n°54 du fichier, ainsi que celle de la ligne suivante qui commence par height (pour hauteur) et qui correspond à la ligne n°55.
Voici, par exemple, le bloc ainsi modifié en utilisant des valeurs adaptées pour un écran dont la résolution est de 1680x1050 pixels :
if re.match('(?:open|free|net)bsd|linux',sys.platform): width = 220 height = 400 xval1 = 155 xval2 = 250 else: height = 175 width = 350 xval1 = 180 xval2 = 265
Une fois les modifications voulues effectuées, enregistrer le fichier puis relancer Gitso qui doit alors afficher l'intégralité de ses options et boutons. Si ce n'est toujours pas le cas, éditer à nouveau le fichier pour ajuster les valeurs des lignes 54 et 55.
Notons également que les valeurs "xval1" (ligne 56 du fichier) et "xval2" (ligne 57) correspondent respectivement, sous GNU+Linux, à l'alignement horizontal du bouton "Start" et à celui du bouton "Stop". On pourra donc également ajuster ces valeurs si, par exemple, le bouton "Start" empiète sur le texte de l'option "Use low colors".
Enfin, il est également possible de paramétrer la position et la taille de la liste déroulante située en face de l'option "Get Help", notamment si elle empiète sur l'intitulé de ce bouton ou qu'elle est trop petite. Ceci est géré au niveau de la ligne 331 du fichier qui est par défaut la suivante :
self.hostField = wx.ComboBox(self, 30, "", wx.Point(105, 12), wx.Size(230, -1), list, wx.CB_DROPDOWN)
Pour régler la position horizontale de la liste en question, il faudra adapter la valeur située juste après le paramètre "wx.Point(", tandis que pour régler sa largeur on ajustera la valeur située juste après le paramètre "wx.Size(".
Voici par exemple la ligne ainsi modifiée pour un écran de résolution 1680x1050 pixels, suite à l'adaptation des dimensions de la fenêtre déjà indiquée plus haut :
self.hostField = wx.ComboBox(self, 30, "", wx.Point(108, 12), wx.Size(270, -1), list, wx.CB_DROPDOWN)
Désinstallation
Pour supprimer cette application, il suffit de supprimer son paquet. Selon la méthode choisie, la configuration globale de l'application est conservée ou supprimée. Les journaux du système, et les fichiers de préférence des utilisateurs dans leurs dossiers personnels sont toujours conservés.