Tρεξτε Seamless Εφαρμογες των Windows στο GNU/Linux με εικονικες μηχανες

Tρεξτε Seamless Εφαρμογες των Windows στο GNU/Linux με εικονικες μηχανες

Για σας φιλοι και φιλες. Καιρο ειχα να φτιαξω καινουργιο οδηγο και ειπα μιας και
η σειρα των οδηγων για το KVM/QEMU ( πρωτο, δευτερο και τριτο μερος εδω για οσους
και οσες θελουν μια επαναληψη) ηταν μια καλη αρχη ας κανω κατι σαν συνεχεια των.

Με αυτο τον οδηγο θα δουμε πως θα τρεξουμε εφαρμογες των Windows που να φαινονται
σαν να τρεχουν στο λειτουργικο του Redmont. Δηλαδη… μην περιμενετε να ακολουθησουν
τα θεματα του GTK+ 2/3 ή του QT5. Αλλα θα τρεξουν χωρις τα window decorations του
εκαστοτε Window manager, και θα εχουν δηνατοτητα να φορτωνουν αρχεια απο την κυρια
διανομη σας και να τα σωζουν εκει. Μα καλα μας δουλευεις τωρα; Οχι. Δηλαδη πως;

Υπομονη και θα τα δουμε ολα.

Γιατι ομως χρειαζομαστε Windows εφαρμογες στο GNU/Linux και ιδιως με αυτο τον τροπο;

Φυσικα θα σκευτει καποιος: “Αφου εχουμε τοσες πολλες εναλλακτικες λυσεις γιατι χρειαζομαστε να τρεξουμε Windows εφαρμογες και μαλιστα να τις κανουμε seamless?”.

Οι λογοι μπορει να ειναι διαφορετικοι για τον καθε χρηστη αλλα ισως μερικοι απο αυτους τους λογους μπορει να ειναι οι παρακατω:

  • Μου το ζητανε απο την δουλεια
  • Δεν υπαρχει κατι αναλογο στο GNU/Linux για τις αναγκες μου
  • Εχω συνηθησει στο X-Ψ-Ω προγραμμα. Δεν βολευομαι με αυτα που εχει το GNU/Linux.

Οποιοι και να ειναι οι λογοι αυτος ο οδηγος ειναι μια λυση για το συγκεκριμενο προβλημα. Ισως να μην βολεψει ολους ή για καποιους να ειναι λιγο πιο περιπλοκη απ’οτι θα θελανε αλλα υπαρχει ακομα περιθοριο βελτιωσης.

Συστατικα

Για τον οδηγο μας θα χρειαστουμε:

  • Μια εικονικη μηχανη με τα Windows (Windows 10 Pro 21Η2 συγκεκριμενα αλλα πιστευω θα παιξει και με αλλες εκδοσεις παλιοτερες οπως και με τα Win11 (αν και δεν το εχω δοκιμασει))
  • Τις εφαρμογες Appetizer και SeamlessRDP που θα βρισκονται μεσα στην εικονικη μας μηχανη
  • Τις εφαρμογες που θελουμε να τρεξουμε σαν seamless
  • Μια διανομη GNU/Linux πανω στην οποια θα τρεξει η εικονικη μηχανη με τα Windows ( Εδω εγω χρησιμοποιω Debian 11.4 (Bullseye)
  • Το προγραμμα rdesktop που θα επικοινωνισει με την εικονικη μας μηχανη και θα τρεξει τα δυο προαναφερθεντα προγραμματα που θα μας επιτρεψουν να τρεξουμε τις εφαρμογες μας.
  • Ενα τοπικο λογαριασμο χρηστη (μονο για αυτη την χρηση) οπου θα εχουμε βαλει ολες τις εφαρμογες που χρειαζομαστε να χρησιμοποιησουμε.

Βηματα

  1. Φτιαχνουμε την εικονικη μηχανη (δηλαδη εξαρχης εγκατασταση των Windows 10 Pro και εγκατασταση των drivers για την εικονικη μηχανη. Για τα Windows 10 σε KVM/QEMU αυτου ειναι οι virtio-win σε μορφη ISO) Προσεχουμε ετσι ωστε η εικονικη καρτα δυκτιου να ειναι σε bridge mode και να χρησιμοποιει το bridge interface που εχουμε σεταρει απο πριν (συνηθως αυτο ειναι το virbr0 εκτος εαν χρησιμοποιουμε καποιο αλλο) για να μπορουμε να εχουμε ανετη προσβαση σε αυτη. Δειτε ενα παραδειγμα παρακατω.

  2. Ενεργοποιουμε την υπηρεσια Remote Desktop απο τα Settings και απενεργοποιουμε το Network Level Authentication που βρησκεται στα Advanced settings στο Remote Desktop. Για μια οπτικη πλοηγηση στις ρυθμισεις που πρεπει να αλλαξετε δειτε τα παρακατω 2 πλανα:

  1. Κατεβαζουμε και τις δυο εκδοσεις του SeamlessRDP (32bit και 64bit) απο την σελιδα του SeamlessRDP στο Github.
    Αποσυμπιεζουμε και τα δυο αρχεια πρωτα το 32bit και μετα το 64bit στον φακελο C:\SeamlessRDP

  2. Με το Registry Editor δημιουργουμε στο

HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services

μια νεα ρυθμιση τυπου DWORD με ονομα !fAllowUnlistedRemotePrograms και τιμη 1 οπως φαινεται παρακατω

  1. Κατεβαζουμε και κανουμε εγκατασταση τις εφαρμογες που θελουμε να τρεξουμε σαν seamless στην εικονικη μας μηχανη,

  2. Κατεβαζουμε και ρυθμιζουμε την εφαρμογη Appetizer με τις συντομευσεις των εφαρμογων που θελουμε να τρεξουμε. Το Appetizer ειναι στην ουσια ενα launcher που μας κανει την ζωη πιο ευκολη δινοντας μας την δυνατοτητα να τρεχουμε τις εφαρμογες που θελουμε απο μια λιστα με εικονιδια.

  3. Παλι με το Registry Editor αλλαζουμε την τιμη του

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Shell

ετσι ωστε να δειχνει το πληρες μονοπατι του seamlessrdpshell.exe (δηλαδη το κλειδι Shell θα εχει την τιμη: C:\SeamlessRDP\seamlessrdpshell.exe ). Εαν κανουμε αποσυνδεση (logout) σε αυτο το σημειο… οταν θα ξαναμπουμε μεσα δεν θα δουμε την κανονικη επιφανεια εργασιας αλλα το προγραμμα seamlessrdpshell.exe και οτι αυτο μας βγαλει. Δειτε το παρακατω παραδειγμα

  1. Γυρναμε τωρα πισω στην διανομη μας και κατεβαζουμε και ταυτοχρονα εγκαθηστουμε το πακετο rdesktop με τον package manager της διανομης μας.

  2. Τρεχουμε μεσα απο τερματικο το rdesktop ως εξης:

rdesktop -A ‘C:\SeamlessRDP\seamlessrdpshell.exe’ -s ‘C:\Program Files (x86)\Appetizer\Appetizer.exe’ -r disk:home=$HOME -r clipboard:PRIMARYCLIPBOARD -r sound: remote -u o_dikos_mas_xristis -p ‘o_dikos_mas_kodikos’ -d WORKGROUP -N -P -x l IP_εικονικης_μηχανης

  1. Θα μας ζητηθει να επιβεβαιωσουμε εαν εμπιστευομαστε το κλειδι που αυτοματα διμιουργει το rdesktop για την συνδεση με την εικονικη μας μηχανη. Γραψτε yes και πατηστε το Enter. Περιμενουμε λιγο και εμφανιζεται η εφαρμογη Appetizer με τις εφαρμογες που υπαρχουν στο συστημα ετσι ωστε να τρεξετε οτι επιθυμητε.

Οι επιδωσεις της εφαρμογης που τρεχουμε δεν ειναι παντα και οι καλητερες μιας και μπαινει στην μεση το σκαλοπατι του RDP. Βεβαια αυτο δεν σημαινει οτι δεν υπαρχει χωρος για βελτιωσεις αλλα αυτο ειναι θεμα για αλλον οδηγο.

Επησεις τα αρχεια σας απο τον φακελο του χρηστη της διανομης σας θα ειναι προσβασημα μεσα απο την seamless εφαρμογη σαν ενα network drive οποτε ριχτε μια ματια για να το βρειτε πριν σωσετε τα αρχεια σας η πριν τα φορτωσετε οπως φαινεται και στο παρακατω screenshot

Επιλογος

Ο τροπος αυτος εκτελεσης εφαρμογων των Windows σε GNU/Linux διανομη ειναι λιγο ιδιορυθμος. Θυμιζει το αντιστροφο απο αυτο που κανει το WSL2 στα Windows. Και ειναι ενας τροπος για να τρεξει καποιος εφαρμογες που δεν τρεχουν με το Lutris ή το PlayOnLinux ή καποιο αλλο βοηθημα του WINE. Επισεις δεν ειναι απαραιτητο να τρεξει η εικονικη μηχανη στο KVM/QEMU. Μπορει να δουλεψει και με αλλα προγραμματα αυτου του τυπου οπως πχ Virtualbox ή VMWare αρκει μονο να μπορει να παρει IP διευθυνση που να μπορει η διανομη σας να συνδεθει μεσω του rdesktop.

Ελπιζω αυτος ο οδηγος να βοηθησει οσους εχουν αναγκη για προγραμματα απο το συμπαν των Windows στο GNU/Linux. Για οποιες αστοχιες ή διευκρηνισεις αφηστε μου μηνυμα και θα απαντησω οσο γρηγορα γινεται (και αν ειμαστε μεσα στα χρονικα ορια του συστηματος να διορθωσω οτι χρειαζεται).

Συνδεσμοι απαραιτητων εφαρμογων

SeamlessRDP
Appetizer

7 «Μου αρέσει»