Skip to content

Voer software uit op verschillende Linux-machines met xhost

25 de juli de 2021
man using laptop computer 483612403 57e978833df78c690f820c68

In tegenstelling tot het typische gebruik van op Windows gebaseerde thuiscomputers, in Linux/Unix-omgevingen, is werken “op het netwerk” altijd de norm geweest, wat de krachtige netwerkfuncties van Unix- en Linux-besturingssystemen verklaart. Linux ondersteunt snelle en stabiele verbindingen met andere computers en grafische gebruikersinterfaces via het netwerk. De primaire opdracht voor het uitvoeren van deze netwerkactiviteiten is: xhost — het servertoegangscontroleprogramma voor X. De xhost programma wordt gebruikt om host(computer)namen of gebruikersnamen toe te voegen en te verwijderen aan de lijst met machines en gebruikers die verbindingen mogen maken met de X-server. Dit raamwerk biedt een rudimentaire vorm van privacycontrole en -beveiliging.

Gebruiksscenario

Laten we de computer waarop u zit de “localhost” noemen en de computer die u wilt verbinden met de “remote host”. U gebruikt eerst xhost om aan te geven welke computer(s) je toestemming wilt geven om verbinding te maken met (de X-server van) de localhost. Vervolgens maakt u via telnet verbinding met de externe host. Vervolgens stelt u de DISPLAY variabele op de externe host. U wilt deze DISPLAY instellen variabele naar de lokale host. Wanneer u nu een programma opstart op de externe host, verschijnt de GUI ervan op de lokale host (niet op de externe host).

Voorbeeld use-case

Stel dat het IP-adres van de lokale host 128.100.2.16 is en het IP-adres van de externe host 17.200.10.5 is. Afhankelijk van het netwerk waarop u zich bevindt, kunt u mogelijk ook de computernamen (domeinnamen) gebruiken in plaats van de IP-adressen.

  1. Typ het volgende op de opdrachtregel van de localhost: xhost + 17.200.10.5

  2. Log in op de externe host: telnet 17.200.10.5

  3. Instrueer op de externe host (via de telnet-verbinding) de externe host om vensters op de lokale host weer te geven door te typen: setenv DISPLAY 128.100.2.16:0.0

    (In plaats van setenv moet je misschien export gebruiken op bepaalde shells.)

  4. Nu kunt u software uitvoeren op de externe host. Als u bijvoorbeeld “xterm” typt op de externe host, zou u een xterm-venster op de lokale host moeten zien.

  5. Nadat u klaar bent, moet u de externe host als volgt uit uw toegangscontrolelijst verwijderen. Op het lokale hosttype: xhost – 17.200.10.5

Snelle referentie

De xhost commando bevat slechts een paar variaties om u te helpen met uw netwerken:

  • xhost + hostnaam: Voegt hostnaam toe aan X-servertoegangscontrolelijst.
  • xhost – hostnaam: Verwijdert de hostnaam uit de X-servertoegangscontrolelijst.
  • xhost + : Schakelt toegangscontrole uit (alle hosts op afstand hebben toegang tot X-server)
  • xhost – : Schakelt toegangscontrole weer in.

Omdat Linux-distributies en kernel-releaseniveaus verschillen, gebruikt u de Mens commando (% Mens) om te zien hoe xhost wordt geïmplementeerd in uw specifieke computeromgeving.