Menu

VPS Debian 10 avec interface graphique et Wine

21 juin 2020 - Serveur Cloud VPS

VPS Debian 10 avec interface graphique et wine!!! Mais pourquoi faire ?

Oui pourquoi vouloir mettre une interface graphique sur un VPS qui se gère facilement tout en console SSH et en plus pour installer dessus un logiciel Windows !

Je vous dis tout.

Depuis quelques temps je me suis mis au Forex. Je ferai surement quelques articles sur le sujet dans la futur. C’est une connaissance de crypto qui m’a initier au Forex. Après le trading crypto je suis donc passé au trading des « vrais monnaies ». Enfin pas tout a fait car j’utilise surtout des signaux d’autres traders payants ou gratuits.

Pour le Forex j’utilise un logiciel qui s’appelle MT5 que je connecte à mon Broker VANTAGEFX mais ce logiciel doit être tout le temps en service pour copier les trades et il n’a pas de version Linux.

Donc soit je l’installe sur mon ordinateur que je laisse tout le temps bancher soit je l’installe sur un serveur. Comme le logiciel n’a pas de version Linux j’ai pensé à prendre un VPS Windows pour l’installer et le laisser tourner H24. Et là trois problèmes il faut une licence Windows (même s’il y a une licence de test gratuite pour quelque mois), un VPS en Windows c’est bien plus cher et pour finir mon fournisseur de serveur n’avais plus de Windows en stock. C’était un signe :).  Sur le net on peut aussi trouver des serveur spécifique avec MT5 installer mais 15$ par mois avec un abonnement d’un an.

Et j’avais un petit serveur KVM de disponible que je n’utilisais plus donc me voilà partie pour l’installation de se serveur avec une interface graphique et Wine pour installer mon logiciel MT5.

Les caractéristiques du serveur:

C’est le plus petit de la gamme mais il fera l’affaire pour les tests.

Voici la liste des choses à faire:

Mon VPS est a jour, je suis connecté en SSH et j’installe l’interface graphique LXDE en version légère avec:

apt-get install lxde-core

Si je ne suis pas en root j’ajoute sudo devant la commande. Cela va installer la version minimum de LXDE.

Voilà l’interface graphique est installé ! Mais je ne vois rien! Pas de souris, pas de fenêtre… Patience on va voir tout cela.

Maintenant il me faut installer Tightvncserver sur mon VPS avec cette commande toujours en SSH:

apt-get install tightvncserver

Je détail beaucoup mais il est possible d’installer les deux programmes en une fois.

Ensuite je lance Tightvncserver pour l’activer et lui donner un mot de passe de connexion. Alors attention les données échangées avec Tightvncserver ne sont pas cryptés (possible avec un tunnel SSH qui n’est pas l’objet de cet article) donc il est bien de mettre un mot de passe fort. Pour cela toujours en SHH je tape :

tightvncserver :1

Il va vous demander un mot de passe (deux fois) et ensuite si vous vouler ajouter un mot de passe juste pour voir. Moi je n’utilise pas cette fonction donc j’ai fait non.

Voilà Tightvncserver est installé sur votre VPS mais pour l’intant nous allons l’arrêter avec cette commande:

tightvncserver -kill :1

Nous avons créé l’écran N° 1 et là on ferme cet écran.

Nous allons automatiser tout cela pour qu’au démarrage de notre VPS il allume Tightvncserver et lance l’interface graphique. Pour cela nous allons utiliser le programme lancé au démarrage de Tightvncserver pour lancer l’interface graphique à la suite et on utilisera un petit code pour lancer Tightvncserver avec quelques options au démarrage du serveur.

Toujours sur votre VPS en SHH nous allons ouvrir avec un éditer de texte (moi j’utilise nano mais vi fera très bien l’affaire):

nano ~/.vnc/xstartup

Il y a déjà du code mais nous allons juste ajouté deux lignes tout à la fin :

lxterminal &
/usr/bin/lxsession -s LXDE &

On enregistre le code.

On va relancer Tightvncserver pour pouvoir enfin tester notre interface graphique.

tightvncserver :1

Il vous reste l’installation de Tightvnc comme client sur votre ordinateur. Vous trouverez les sources ici : https://www.tightvnc.com/download.php. C’est une installation de programme Windows normale.

Une fois installé pour lancer la connexion avec votre VPS il vous faut l’adresse IP de votre VPS et le port utilisé par Tightvncserver (par défaut c’est toujours 5900 + le n° de l’écran dans notre cas 5901) sous cette forme xx.xxx.xx.xxx:5901 Vous allez avoir un message d’avertissement à valider et il faudra donné votre mot de passe. et vous voilà connecté à l’interface graphique de votre VPS!

Bon c’est pas cool car tout le monde connait le port utilisé et va pouvoir essayer de se connecter. OUI et très rapidement en plus! Dans mon cas une heure après l’installation mon serveur été bloqué car j’avais eu trop de tentative pour accéder à mon compte (mais j’avais un mot de passe fort). Donc le mieux c’est de choisir un autre port.

On va retourner dans notre console SHH et arrêter Tightvncserver et ouvrir la config de Tightvncserver pour changer le port:

tightvncserver -kill :1
nano /usr/bin/vncserver

Chercher la ligne : $vncPort = 5900 + $displayNumber; et changer le port 5900 par un port de votre choix. Il faudra bien sur utiliser ce port sur VNC client.

Vous voilà un peu plus sécurisé. Maintenant il serai bien d’avoir Tightvncserver au lancement de notre VPS avec une config spécifique.

Pour cela créer le fichier : /usr/local/bin/vncserver et ajouter cela :

#!/bin/bash
PATH="$PATH:/usr/bin/"
DISPLAY="1"
DEPTH="24"
GEOMETRY="1280x1204"
OPTIONS="-depth ${DEPTH} -geometry ${GEOMETRY} :${DISPLAY}"

case "$1" in
start)
/usr/bin/tightvncserver ${OPTIONS}
;;

stop)
/usr/bin/tightvncserver -kill :${DISPLAY}
;;

restart)
$0 stop
$0 start
;;
esac
exit 0

Dans ce code GEOMETRY= »1280×1204″ représente la taille de votre écran à l’affichage sur votre ordinateur. Vous pouvez l’adapter suivant votre besoin. Par exemple j’ai ajusté la valeur de façon a avoir un écran complet sans bordure sur l’écran de mon portable.

Il faut rendre ce code exécutable  avec:

chmod +x /usr/local/bin/vncserver

Ensuite il faut créer un fichier pour dire à votre VPS d’utiliser le code précédent au lancement du VPS. Vous devez créer ce fichier : /lib/systemd/system/vncserver.service avec ce code:

[Unit]
Description=TigthVNC Service Unit

[Service]
Type=forking
ExecStart=/usr/local/bin/vncserver start
ExecStop=/usr/local/bin/vncserver stop
ExecReload=/usr/local/bin/vncserver restart
User=root

[Install]
WantedBy=multi-user.target

Il reste à activer cela avec ces trois commandes à faire dans l’ordre :

systemctl daemon-reload
systemctl enable vncserver.service
systemctl start vncserver.service

La dernière commande  » systemctl start vncserver.service  » lance VNC il est possible de remplacer le start par stop pour arrêter ou restart pour relancer. Mais au démarrage de votre VPS tout sera lancé Tightvncserver et l’interface graphique.

Voilà notre interface graphique fonctionne et peut être utilisé comme un Linux normal. Nous allons installer Wine mais déjà le test est assez concluant car le serveur est pas trop sollicité à peine 10% du CPU et il reste de la place sur de DD. Et même si la connexion graphique est a distance c’est assez fluide à utiliser.

Pour l’installation de Wine j’ai testé la version 4 avec une installtion avec apt-get et aussi la version 5 un peut plus complexe à installer dans mon cas les deux marches. Pour la version 4 il faut faire cela (toujours en SSH) :

sudo dpkg --add-architecture i386 && sudo apt update
sudo apt install \
      wine \
      wine32 \
      wine64 \
      libwine \
      libwine:i386 \
      fonts-wine

Pour une installation de Wine en version 5:

wget -nc https://download.opensuse.org/repositories/Emulators:/Wine:/Debian/Debian_10/Release.key

dpkg --add-architecture i386
apt update
wget -nc https://download.opensuse.org/repositories/Emulators:/Wine:/Debian/Debian_10/Release.key
apt-key add Release.key 
echo "deb https://download.opensuse.org/repositories/Emulators:/Wine:/Debian/Debian_10 ./" > /etc/apt/sources.list.d/winehq.list
apt update
apt upgrade
apt install --install-recommends winehq-devel

Il est possible de voir la version de Wine avec : wine –version

Pour configurer Wine nous allons utilisé une console dans l’interface graphique pour lancer le configurateur de Wine. Dans ls console taper :

winecfg

Ici vous allez pouvoir indiquer quelle version de Windows Wine doit émuler suivant vos besoins.

Maintenant il reste a installer mon logiciel Windows de Forex MT5. Pour cela rien de plus simple je télécharge le .exe de l’installateur du programme que je place sur mon VPS et dans l’interface graphique j’utilise le navigateur de fichier (comme dans windows) et avec un double clic sur le programme il va lancer l’installation. Si l’installation de marche pas il va vous demander à quel programme faire l’association il faut lui dire wine64.

Et pour finir tout marche très bien depuis plusieurs jours la copie des trades se passe très bien et je n’ai pas eu besoin de relancer MT5 depuis plusieurs semaines (c’est stable Linux 🙂 ). Le seul petit bémol c’est que les programme windows ont tendance à grossir et le DD est arrivé à 70% d’utilisation. Je vais devoir faire du ménage dans quelques fichiers non utilisés avant la saturation.

Voilà j’espère que ces quelques explication pourront vous aider. N’hésitez pas à demander si besoin.