Rulați o aplicație (inclusiv grafică) pe alt PC ca alt utilizator

Buna,

Acest lucru este cu adevărat util, deoarece prin acest sfat putem gestiona un alt PC, sau va face viața puțin mai ușoară în anumite momente.

Știu asta dacă se conectează SSH de PC # 1 a PC # 2 de exemplu, și încearcă să deschidă un program de genul Firefox pentru a rula și afișa în PC # 2, sau un anumit player de muzică sau video, o facem astfel:

utilizator @ pc2: ~$ Firefox

Dar, returnează următoarea eroare:

(Firefox: 1704): Gtk-AVERTISMENT **: nu se poate deschide ecranul:

Ei bine, aici veți vedea cum să deschideți software-urile dorite, rezolvând această eroare cu o singură comandă.

De asemenea (și după părerea mea, acest lucru este mai interesant), să presupun că sunt PC # 1, Accesez PC # 2 care este computerul prietenei mele cu utilizatorul kzkggaara de exemplu, atunci îi doresc ei (utilizator cc) vi se arată a notificare (ca cele care apar atunci când ridicăm sau micșorăm volumul, etc) care spune „Nu-l mai asculta pe Enrique Iglesias !!!”Hehe… vom vedea cum să o facem, fără a fi nevoie să știm parola utilizatorului dvs.cc în acest exemplu).

Pentru a accesa prin SSH cu utilizatorul nostru (kzkggaara în acest exemplu) la PC # 2 (cu adresa IP = 192.168.151.209) punem așa ceva:

  • ssh kzkggaara@192.168.151.209

Acum, odată ce intrăm în utilizatorul nostru, vrem să rulăm un player video, de exemplu, cel care este instalat implicit în Ubuntu este Totem, vom folosi acest lucru pentru a explica.

Dacă pur și simplu punem terminalul "totem”Ne va da eroarea menționată mai sus, deoarece înainte de a executa aplicația trebuie să punem următoarea linie:

  • export DISPLAY =: 0.0

Punând aceasta, problema este rezolvată hehe. (Dacă vedeți o modificare de eroare "0.0" de "1.0„) Deci, pașii de executat totem ar:

  1. export DISPLAY =: 0.0
  2. totem

Și gata.

Dacă atunci vrem să închidem totem pur și simplu punem:

  • ucide totem

Acum, să presupunem că vrem să rulăm un browser de genul Firefox, deja Nu vom avea pentru a scrie din nou prima linie (export DISPLAY =: 0.0), pur și simplu punem:

  • Firefox

Și problema rezolvată 😉

Cu toate acestea, dacă părăsesc sesiunea și reintră prin SSH către PC # 2, vor trebui să scrie linia referitoare la exporturile.

Acum ... cel mai interesant după părerea mea:

Rulați aplicații pe desktopul altui utilizator:

Suntem deja conectați prin SSH la PC # 2, am accesat împreună cu utilizatorul kzkggaara și ceea ce vrem este să arătăm utilizatorului cc UNA notificare (ca cele care apar atunci când ridicăm sau micșorăm volumul, etc) care spune „Nu-l mai asculta pe Enrique Iglesias !!!

Pentru a trimite notificări manual, trebuie să instalăm un pachet numit libnotify-bin, pentru a-l instala am pus în terminal:

  • sudo apt-get install libnotify-bin

Și gata. Acum, vom crea un script foarte mic cu comanda:

  • sudo atingeți /opt/script.sh

O vom edita cu:

  • sudo nano /opt/script.sh

Și în el vom scrie următoarele:

export DISPLAY =: 0.0

notifica-trimite „Nu-l mai asculta pe Enrique Iglesias !!!”

Economisim și ieșim cu [Ctrl] + [X], iar acum vom da permisiunile scriptului pentru a rula:

  • sudo chmod + x /opt/script.sh

Și acum trebuie doar să executăm scriptul, dar îl vom executa ca utilizator cc, întrucât ceea ce ne dorim este ca acea notificare să apară acelui utilizator specific. Ne mutăm în directorul care conține scriptul:

  • cd / opt /

Și acum îl rulăm:

  • sudo -u cc ./script.sh

Gata, asta ar fi.

Acest lucru este complet personalizabil, vă pot arăta un gedit asta spune "Te-am piratat pe PC„Sau orice vor ei, totul depinde de cât de mult știu să improvizeze.

Nimic, tutorialul se termină aici.

Orice eroare care apare, problemă, îndoială sau întrebare, reclamație sau sugestie, aș aprecia dacă o comunicați, critica constructivă este întotdeauna bine primită.

Salutări și ... știu că acest lucru va fi util cuiva ^ _ ^


Lasă comentariul tău

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

*

*

  1. Responsabil pentru date: Miguel Ángel Gatón
  2. Scopul datelor: Control SPAM, gestionarea comentariilor.
  3. Legitimare: consimțământul dvs.
  4. Comunicarea datelor: datele nu vor fi comunicate terților decât prin obligație legală.
  5. Stocarea datelor: bază de date găzduită de Occentus Networks (UE)
  6. Drepturi: în orice moment vă puteți limita, recupera și șterge informațiile.

  1.   aer0 el a spus

    Presupun că complicați prea mult lucrurile cel puțin din punctul meu de vedere, pentru a face același lucru așa cum s-a explicat în prima parte pur și simplu atunci când vă conectați la serverul ssh adăugăm parametrul -X și după autentificare pur și simplu tastând numele aplicației se va deschide fără fara greseala
    exemplu

    ssh -X kzkggaara@192.168.151.209
    Firefox

    și cu aceasta evităm exportul ...

    1.    KZKG ^ Gaara <° Linux el a spus

      Bună ziua și bine ai venit pe site-ul 😀
      Problema este că, ceea ce vreau este să scriu într-un terminal «Firefox»(Pentru a da un exemplu) și că acest lucru se deschide pe celălalt PC, da, dar că este afișat și pe afișajul / monitorul dvs., adică ceea ce rulez în terminalul care este afișat celuilalt utilizator de pe PC-ul lor, făcându-l să înțeleagă sau să pară că computerul a „înnebunit” 🙂

      Daca eu fac ssh -X $ user @ $ ip și apoi scriu «Firefox»În acel terminal, aplicația (firefox în acest caz) mi se va deschide pe monitor / ecran și nimic nu va fi afișat pe monitorul acelui alt computer (la care m-am conectat de la distanță prin SSH).

      Cel puțin cu asta aș putea aprecia -XDacă greșesc, vă rog să clarificați îndoiala.
      Salutări și încă o dată, bine ați venit pe site-ul nostru 😉

  2.   aer0 el a spus

    Exact asta se întâmplă dacă ceea ce se întâmplă este că am înțeles că asta a fost intenționat, dar văd că nu este atât de bun, cel puțin este o modalitate de a deschide aplicații de la distanță, deși nu servește la glumă 🙂 și mulțumesc pentru primirea de aici Ne vom plimba.

    1.    KZKG ^ Gaara <° Linux el a spus

      Aceasta este problema hehehehe, nu funcționează pentru mine să glumesc, dar să lucrez, da, deoarece procesarea și încărcarea sunt asumate de acel computer la distanță, în timp ce aplicația este afișată pe ecranul meu, sfat bun 😉

      Salutări și ne citim aici 🙂

  3.   Maro el a spus

    Dacă înțeleg bine procedura, acum cum obțin IP-ul mașinii 2 de pe consola mea? Poate ?

    Nu știu nimic despre rețele, ce păcat 🙁

    1.    KZKG ^ Gaara <° Linux el a spus

      În terminal puneți: ifconfig
      Acolo puteți vedea detalii despre fiecare interfață de rețea, adică dacă aveți LAN (rețea prin cablu), Wifi sau altele.

      Unde scrie „inet”, acolo poți găsi adresa IP 😀
      Și nu vă faceți griji, nimeni nu se naște știind hahaha, cu toții învățăm pe măsură ce mergem.

      În ceea ce priveşte

  4.   semptrion el a spus

    Mulțumesc!!! exact asta căutam ...

  5.   david el a spus

    Și dacă am vrut să o fac de pe web folosind php, arătând și o imagine de pe web, fără a folosi scriptul pe care îl creezi, adică așa ceva, cum aș putea să-l realizez ???
    $ image = »http://website.net/imagen.png»;
    $ message = »nu-l mai asculta pe Enrique Iglesias»;
    exec ("export display =: 0.0 | notificare-trimitere $ mesaj -i $ imagine");

  6.   alexweb el a spus

    salut sfaturi foarte bune!
    În ceea ce privește ssh-ul, acesta funcționează dacă exportați afișajul.
    Cel puțin obțin asta pe consolă.

    Un salut.-

  7.   Lida el a spus

    Când configurați fișierul sshd_config, este necesar să modificați redirecționarea x11 pentru a putea face ceea ce faceți? asta e îndoiala mea

  8.   Ricardo Luis Ordaz Villalobos el a spus

    Bună, am o întrebare, poate fi invers? De exemplu, dacă sunt pe PC1 fără firefox și prietena mea este pe PC2 cu firefox, aș putea rula firefox de pe PC2 și să fac fereastra browserului să apară pe PC1 acolo unde browserul nu este instalat?