Πώς να συνδέσετε συσκευές USB στο Υποσύστημα Windows για Linux στα Windows 11

Είναι δυνατό να συνδέσετε συσκευές USB στο Υποσύστημα Windows για Linux στα Windows 11 και να εργαστείτε απευθείας μαζί τους.

Γρήγοροι Σύνδεσμοι

  • Τι είναι το usbipd-win;
  • Συνδέστε συσκευές USB στο Υποσύστημα Windows για Linux
  • Υπάρχει κάποια εναλλακτική GUI;

παρουσίασε η Microsoft Υποσύστημα Windows για Linux (WSL) πριν από λίγο καιρό, που έφερε υποστήριξη για την εκτέλεση εφαρμογών Linux απευθείας από την εγκατάσταση των Windows χωρίς να χρειάζεται να ρυθμίσετε μια εικονική μηχανή. Όντας ένα τόσο περίπλοκο επίπεδο συμβατότητας, το WSL είχε ορισμένους περιορισμούς. Η αρχική υλοποίηση δεν χρησιμοποιούσε καν έναν πλήρη πυρήνα Linux, επομένως αρκετές εφαρμογές αντιμετώπισαν προβλήματα συμβατότητας. Η έκδοση 2 έκανε πολλές βελτιώσεις, αλλά κάτι έλειπε ακόμα: υποστήριξη για σύνδεση φυσικών συσκευών USB.

Εάν είστε ενεργός χρήστης του Windows Subsystem for Linux και θέλετε να αποκτήσετε πρόσβαση σε συσκευές USB απευθείας από την παρουσία του Linux που εκτελείται υπό WSL, τότε θα χαρείτε να μάθετε ότι υπάρχει

σημαντική πρόοδο σε αυτό το μέτωπο. Χάρη στις συνεισφορές της Microsoft στον ανοιχτό κώδικα usbipd-win έργο, μπορείτε πλέον να απολαμβάνετε πρόσβαση μέσω USB στο WSL. Σημαίνει ότι οι τελικοί χρήστες μπορούν να εκτελούν εργασίες όπως να αναβοσβήνουν συσκευές Android στο Windows Subsystem for Linux, οι οποίες κατά τα άλλα δεν υποστηρίζονται από το υποσύστημα Linux.

Τι είναι το usbipd-win;

Το έργο usbipd-win έχει να κάνει με τη δημιουργία μιας λύσης για την κοινή χρήση τοπικά συνδεδεμένων συσκευών USB σε άλλα μηχανήματα, συμπεριλαμβανομένων των προσκεκλημένων Hyper-V και του WSL2. Ωστόσο, ο επίσημος πυρήνας του Linux WSL2 δεν είχε υποστήριξη για το Πρωτόκολλο USB/IP, απαιτώντας από τους χρήστες να δημιουργήσουν οι ίδιοι τον πυρήνα.

Από την έκδοση 5.10.60.1 του πυρήνα του WSL, οι απαιτούμενες παράμετροι ρυθμίζονται εκτός του πλαισίου, επομένως δεν απαιτείται μη αυτόματη επαναμεταγλώττιση. Η Microsoft έχει επίσης συνεισφέρει μια διεπαφή γραμμής εντολών στο έργο για να ενεργοποιήσει μια συσκευή USB για κοινή χρήση στα Windows και να την συνδέσει απρόσκοπτα από το WSL.

Συνδέστε συσκευές USB στο Υποσύστημα Windows για Linux

Πριν ξεκινήσετε, βεβαιωθείτε ότι τρέχετε Windows 11 και έχουν εγκαταστήσει όλες τις ενημερώσεις WSL. Όπως αναφέρθηκε προηγουμένως, χρειάζεστε μια διανομή WSL 2 Linux για να λειτουργήσει.

  1. Εκτελέστε την ακόλουθη εντολή μέσα από το WSL:
    uname -a
    Εάν εμφανίζει μια έκδοση πυρήνα της 5.10.60.1 ή νεότερης έκδοσης (όπως φαίνεται παρακάτω), τότε είστε έτοιμοι.
    • Εάν η εγκατεστημένη έκδοση του πυρήνα είναι παλαιότερη από 5.10.60.1, τότε μπορεί να ενημερωθεί χρησιμοποιώντας τις ακόλουθες εντολές:
      wsl --shutdown
      wsl --update
  2. Μεταβείτε στο αποθετήριο GitHub του έργου usbipd-win. Επειτα κατεβάστε και εγκαταστήστε την πιο πρόσφατη έκδοση.
    • Η τελευταία έκδοση του usbipd-win υποστηρίζει αθόρυβη εγκατάσταση προγραμμάτων οδήγησης, χάρη στα πιστοποιημένα προγράμματα οδήγησης Hardware Compatibility Program. Υποστηρίζει επίσης Κατασκευές καναλιών προγραμματιστών των Windows 11.
    • Εκτός από τη σελίδα έκδοσης στο GitHub, μπορείτε να εγκαταστήσετε και να ενημερώσετε την εφαρμογή χρησιμοποιώντας Windows Package Manager CLI (γνωστός και ως winget).
      winget install--interactive --exact dorssel.usbipd-win
  3. Εγκαταστήστε τα εργαλεία χώρου χρήστη για USB/IP και μια βάση δεδομένων με αναγνωριστικά υλικού USB. Εάν εκτελείτε το Ubuntu σε WSL, εκτελέστε τις ακόλουθες εντολές:
    sudo apt install linux-tools-virtual hwdata
    sudo update-alternatives --install /usr/local/bin/usbip usbip `ls /usr/lib/linux-tools/*/usbip | tail -n1` 20
    • Μπορείτε να επιλέξετε διαφορετικά πακέτα meta (π.χ. linux-tools-generic) επίσης, ανάλογα με την εγκατεστημένη διανομή. Ωστόσο, ίσως χρειαστεί να προσαρμόσετε τη μεταβλητή διαδρομής στο επόμενο βήμα, σύμφωνα με τον αριθμό έκδοσης του πακέτου meta.
    • Για άλλες διανομές, συμβουλευτείτε την τεκμηρίωση του σχετικού εργαλείου διαχείρισης πακέτων.
  4. Σε περίπτωση που ο συμβολικός σύνδεσμος δημιουργήθηκε χρησιμοποιώντας το update-alternatives η εντολή στο προηγούμενο βήμα δεν λειτούργησε για εσάς, μπορείτε να τροποποιήσετε χειροκίνητα τις επιλογές sudo για να επιτρέψετε στον χρήστη root να βρει το usbip εντολή. Για να το κάνετε αυτό, επεξεργαστείτε το /etc/sudoers αρχείο χρησιμοποιώντας sudo visudo και προσθέστε /usr/lib/linux-tools/-generic στην αρχή του secure_path. Θα πρέπει να μοιάζει με το εξής:
    Defaults secure_path="/usr/lib/linux-tools/5.4.0-77-generic:/usr/local/sbin:..."
  5. Ανοίξτε μια νέα παρουσία τερματικού ως διαχειριστής και πληκτρολογήστε την ακόλουθη εντολή για να εμφανίσετε όλες τις συσκευές USB που είναι συνδεδεμένες στα Windows.
    usbipd wsl list
  6. Σημειώστε την τιμή BUSID της συσκευής USB που θέλετε να συνδέσετε στο WSL. Στη συνέχεια, εκτελέστε την ακόλουθη εντολή για να ξεκινήσετε τη διαδικασία επισύναψης. Θα σας ζητηθεί από το WSL για έναν κωδικό πρόσβασης για να εκτελέσετε μια εντολή sudo.
    usbipd wsl attach --busid <busid>
    Για παράδειγμα, εδώ επισυνάπτουμε τη διεπαφή Fastboot μιας συσκευής Android στο WSL από τον κεντρικό υπολογιστή Windows 11:
  7. Τώρα ανοίξτε μια νέα παρουσία WSL 2 και εκτελέστε το lsusb εντολή για να δείτε τις διαθέσιμες συσκευές USB. Θα πρέπει να αναφέρει τις συνδεδεμένες συσκευές.
  8. Αυτό είναι! Τώρα μπορείτε να εργαστείτε με τη συσκευή USB απευθείας από το WSL.

Όταν τελειώσετε, μπορείτε να αποσυνδέσετε τη συσκευή χρησιμοποιώντας την εντολή που φαίνεται παρακάτω. Για άλλη μια φορά, εκτελέστε το από μια παρουσία τερματικού που εκτελείται ως διαχειριστής.

usbipd wsl detach --busid <busid>

Υπάρχει κάποια εναλλακτική GUI;

Σε περίπτωση που η διεπαφή της γραμμής εντολών δεν είναι το φόρτε σας, μπορείτε να δώσετε wsl-usb-gui μια δοκιμή. Είναι ένα ανεπίσημο περιτύλιγμα GUI γύρω από το δυαδικό αρχείο usbipd-win, το οποίο απλοποιεί σημαντικά την καταχώριση συσκευών USB και τη διαλειτουργικότητα μεταξύ του λειτουργικού συστήματος υποδοχής και της παρουσίας WSL.

  1. Βεβαιωθείτε ότι έχει εγκατασταθεί η πιο πρόσφατη έκδοση του usbipd-win και ότι ο πυρήνας WSL είναι ενημερωμένος.
  2. Κατεβάστε το πιο πρόσφατο πρόγραμμα εγκατάστασης του wsl-usb-gui από τη σελίδα εκδόσεων του GitLab του έργου.
  3. Εκτελέστε το αρχείο MSI που κατεβάσατε.
    • Πριν εγκαταστήσει το πρόγραμμα, το πρόγραμμα εγκατάστασης ελέγχει επίσης για τις προϋποθέσεις και προσπαθεί να τις ρυθμίσει εάν χρειάζεται. Ωστόσο, θα ήταν καλύτερα να κρατάτε τα πάντα ενημερωμένα μόνοι σας για να αποφύγετε τυχόν απρόβλεπτα προβλήματα συμβατότητας.
  4. Μετά την επιτυχή εγκατάσταση, θα πρέπει να μπορείτε να βρείτε μια συντόμευση που δημιουργήθηκε πρόσφατα με το όνομα WSL USB στο μενού Έναρξη. Εκτελέστε την εφαρμογή από εκεί.
  5. Κάνε κλικ στο Φρεσκάρω κουμπί για να συμπληρώσετε τη λίστα των συσκευών USB που είναι συνδεδεμένες στο κεντρικό λειτουργικό σύστημα.
  6. Χρησιμοποιήστε το Συνδέω και Αποσπώ κουμπιά για να απελευθερώσετε το πλήρες δυναμικό της διέλευσης USB.

Από εδώ και στο εξής, είστε έτοιμοι να προχωρήσετε και να ασχοληθείτε με όλες τις συσκευές USB που θέλετε στο WSL. Ο πλήρης οδηγός μας θα σας βοηθήσει στην πορεία, αλλά μόλις ρυθμιστεί η διέλευση USB όπως σας αρέσει, απλώς σβήνει στο παρασκήνιο. Για να μάθετε περισσότερα, ρίξτε μια ματιά στο Επίσημη τεκμηρίωση της Microsoft για τη σύνδεση συσκευών USB υπό WSL και ενότητα Wiki GitHub του usbipd-win.

Χάρη στο ανώτερο μέλος του XDA Κάποιο_Τυχαίο_Όνομα_χρήστη για το φιλοδώρημα!