🎓 Vuoi diventare un PRO USER o un LINUX SYSADMIN CERTIFICATO? Il modo migliore per cominciare è seguire un corso ben strutturato e semplice da seguire , per imparare al tuo ritmo e coi tuoi tempi, ma soprattutto tenuto da un docente sempre disponibile per rispondere alle tue domande. Tengo corsi per tutti i livelli. Visita corsolinux.com per maggiori informazioni.
@@DannyGodhouse Non mi sembra inopportuno parlare dei propri servizi professionali sotto i propri video anzi secondo me potrebbe anche spingerci di più questa tipologia di Marketing basato sulla fiducia nell influencer (appunto influencer marketing) è il marketing che funziona di più se usato bene.
Quando salti una settimana di video, quando l'assenza si nota, torni sempre con qualcosa di "speciale" e piacevolmente sorprendente. La cosa bella é che scopro una marea di cose con gli spunti che dai, ancora di più rispetto proprio alle spiegazioni che fai.
Grande Morro bel progetto, solo una considerazione, se uno tra client e server non può raggiungere il server che espone le porte per la connessione SSH perché magari dietro proxy si blocca tutto. La cosa migliore in queste situazioni sarebbe usare websocket in modo tale da fare passare tutto via http piuttosto che SSH e TCP, in tal modo potresti potenzialmente uscire da qualsiasi rete
ci ho pensato anche io.. visto che c'è la versione su linux.. inoltre la licenza costa poco (io la pago per due sessioni, visto che la usiamo per lavoro)
Anydesk è perfetto. Lo uso a lavoro nei casi serva assistenza da remoto (e spesso serve) e non ho mai avuto problemi! Usato su tutte le piattaforme (windows, macos, linux, android, ios) e non mi ha mai tradito
Con Anydesk, se lo hai in avvio automatico con password, quando ti colleghi apre una nuova sezione rdp, quindi non sempre è utile. Ovviamente solo se non hai un operatore dall’altra parte.
Bel progetto, bravo! Come sviluppi futuri unirei il client ed il server in unica soluzione pilotabile da riga di comando (--client --server) ed i meccanismi di security trust tra client e server (application integrity check, service trust level & endpoint auth mech)....con i chiari di luna di questi tempi....
Bravo, ottimo! Mi sa che presto farò una qualche prova su delle macchine ARM che abbiamo in remoto. Domandone: visto che hai usato Qt, pensi che sia possibile compilare il tutto anche per Windows?
Video interessante e ci sei tanto simpatico, ma per favore correggi in "soddisfaceva" perché "soddisfava" oltre a essere errato non si può davvero sentire (soprattutto in Toscana) 😜 (EDIT) Grazie della correzione, ti dimostri come sempre uno degli youtuber più educati e alla mano 🙃
Mostrare il mouse remoto a mio parere potrebbe risultare utile per permettere a chi è dall'altra parte di "indicare" dei punti particolari sul proprio desktop
Ottimo lavoro. Io però cercherei, oltre che di integrare le informazioni importanti del terminale, di fare anche una versione un po' più facile da usare anche per un potenziale "collega" che magari non vuole pigiare comandi dal terminale ma vuole per necessità vedere solo lo schermo remoto per fare un check rapido se funziona il tutto o se deve contattare gli sviluppatori o i sistemisti se ci fossero dei problemi. Inoltre renderei la cosa multipiattaforma. Lo so che è tanto ciò che chiedo ma come progetto open source non sarebbe manco male da continuare.
io usavo un programma per il gaming Remoto che a Teamviewer dava la pista (almeno un annetto fa) si chiama Parsec. le uniche cose che si pagano è se vuoi affittarti una macchina loro per giocare. ma puoi tranquillamente avere 2 pc uno molto scarso e uno molto potente e collegarli tra loro. Se hai tempo dacci una sbirciata. Bel lavoro
Non male anche se non c'è da scordare che uno dei vantaggi di TeamViewer è quello di essere multipiattaforma così che possa essere utilizzato tra os differenti
Uso molto anydesk per passare attraverso i firewall e fare assistenza remota agli utenti. Ma uso molto molto Remmina per fare manutenzione a server e PC dove non c'è un utente da assistere. Ma su Remmina sono in conflitto d'interesse, perchè sono uno dei devel... ;) Ottimo video e interessante soluzione! Grazie.
ah! magari ti va di darmi un consiglio per un mio problema se lo conosci....:) ) remmina verso debian 10 gnome wayland con password: al primo tentativo di connessione, dopo un reboot della debian, compare l'icona sul pannellino gnome ma la connessione non va a buon fine..., a quel punto se riavvio il servizio utente gnome-remote-desktop tutto funziona regolarmente....(se riavvio il servizio prima del tentativo di connessione non risolve...) ciao!
Saluti da Perth, Australia; congratulazioni (issime !!!) per questo video; ti ho trovato x caso solamente oggi; ho gia' un background in networking eccetera .... ma ora voglio vedermi tutti i tuoi video, ci sta sempre qualcosa da imparare.
Tempo fa ho realizzato un applicativo per Android per pilotare remotamente un pc windows. Nel mio caso la chiave di volta per annullare le latenze fu utilizzare un socket udp sia per il client che per il server
Confermo, UDP ha un minor overhead e permette una latenza inferiore. Il problema è che volevo qualcosa che fosse anche un minimo sicuro (canale di comunicazione cifrato) perciò ho usato SSH per fare il tunnel, ma SSH gira su TCP :) Per portare tutto su UDP probabilmente dovrei sostituire SSH con qualcosa di custom made che cifri il traffico e giri su UDP.. oddio fattibile eh, ma prima cerco di ottimizzare ogni possibile altro aspetto
morro, a mani basse il miglior divulgatore linux e open source italiano, e non solo, daresti la paga ai più grossi internazionali! ( pensaci a fare i doppi video in inglese, tipo non avresti piu vita pero oh :P )
Grande progetto... Sarebbe interessante sapere la prestazione paragonato con l X2Go (anche se ed e differente)... Avendo degli devices ARM a base Debian ma non Ubuntu, ci vorra qualche aggiustamenti da fare per le dipendenze. Comunque, grazie per le tue contribuzioni. :)
Buone notizie sul fronte ARM: sono riuscito a compilare ed eseguire il tutto anche su Pinephone con Alpine Linux e Pinebook Pro. È stato più semplice di quanto mi sarei aspettato!
Non ci capisco nulla ma per risolvere la configurazione dei tasti non puoi inserire una condizione if nella quale dici che se la finestra è aperta allora gli input riguardano solo quella finestra?
Il software proprietario dell'azienda per cui lavoro posso tenerlo solo sul laptop aziendale (un desktop replacement da 17 pollici non particolarmente portable) sempre in VPN negli stati uniti e ho usato un espediente identico per esporre un'api python, ma se questo dovesse avere prestazioni decenti anche nel mio caso lo uso di certo, grazie mille morro!
Come funzionerebbe la multisessione? (Più gente che lavora sul PC remoto) p.s. sono un utente pagante di TeamViewer. La latenza nel mio caso è dovuta solo alla connessione remota.
Quanto è complicato secondo te riprodurre in un frame di una pagina web l'output? Ho una applicazione 3D (Windows only x ora, scritta in c++) che ho necessità di utilizzare tramite una pagina web. Tramite rdp ci riesco ma preferirei una soluzione meno standard per motivi di sicurezza. Grazie mille.
Grazie per l'ottimo video. Secondo te è possibile tramite rdp trasmettere audio da mac? perché attualmente non ho trovato nessun software che offre questa possibilità.
non uso troppo linux (purtroppo), il tempo a mia disposizione è sempre limitatissimo. ma l'anno scorso ho avuto necessità di fare + o - la stessa cosa tra un raspberry 24/7 e un tablet. ho usato l'app rd client (microsoft) e non ricordo quale pacchetto linux per il desktop remoto. la limitazione a quanto capisco è la "pesantezza" del tutto, vuoi su tablet che è kitkat, vuoi su rasp che gestisce remoto grafico + altro software gestione dati. funziona, ma in media ogni 5 giorni devo riavviare il rasp magari un domani che mi ritaglio qualche ora vedo di cambiare qualcosina
ciao Hai parlato di USB/IP non e' possibile spostare la tastiera dal PC locale a quello remoto per ovviare alle scorciatoie che vengono intercettade dal remoto ?
Hai realizzato una cosa che pensavo di fare da un anno, complimenti! Non credi che si potrebbe risparmiare circa metà della latenza utilizzando una connessione diretta e non il reverse SSH? Si potrebbe aggiungere l'opzione di permettere una connessione client-server se si ha la possibilità di aprire una porta su almeno una delle 2 reti nattate(tramite port forwarding)? uPnP potrebbe essere utile in questo progetto? Spero di poter collaborare sul progetto e che diventi qualcosa di molto competitivo, anche se arrivo con 4 mesi di ritardo e magari hai perso un po' interesse Aspetto tue notizie ✌️
Se hai l'opzione di aprire le porte per fare una classica connessione client-server, puoi semplicemente instaurare una connessione SSH dal client alla macchina da controllare e procedere alla stessa maniera, è tutto descritto sulla pagina GitHub del progetto
Bel progetto, complimenti! Comunque sarei curioso di vedere le principali differenze che differiscono invece tra il sistema HPRDP che hai progetto tu ed Anydesk, che a differenza di TeamViewer ha una latenza praticamente irrisoria. Per farti capire, non so se hai lo hai provato, il mouse pointer che vedi nella schermata non è quello locale come in TeamViewer, bensì viene mostrato il mouse pointer del PC remoto( lato server per intenderci) e la latenza è praticamente ridotta al minimo, anche utilizzando una rete non cablata, dunque da WiFi con lo smartphone. Sarei veramente interessato ad una tua opinione in merito, anche perché ultimamente ho attivato un server vnc, instradato da protocollo SSH, e sarei curioso di eventuali migliori alternative presenti per questo fine.
11:00 sei sicuro che lo nasconda semplicemente? dovrebbe esserci un flag nella tendina in alto (solo durante una connessione remota attiva) chiamata 'Mostra cursore remoto', e da quanto posso vedere non lagga!
Credo che il modo in cui hanno implementato questa funzionalità sia: 1) ricevono le coordinate del mouse remoto ad ogni istante 2) disegnano il cursore del mouse localmente nella finestra di controllo Dato che inviare delle semplici coordinate è molto più veloce di inviare un intero fotogramma (o anche soltanto la parte interessata) questo spiegherebbe come ottengono la bassa latenza del mouse. Certo è pura speculazione dal momento che TeamViewer non è Open Source :)
Ma, tanto per chiedere, questo accrocchio non viola le best practices in ambito professionale? Così facendo stai aprendo un tunnel verso l'esterno saltando via il FW. Solitamente per questo tipo di use case si utilizza una VPN.
veramente figo e utilissimo. Come software proprietario esiste Nomachine con il suo protocollo NX che ha performances veramente incredibili. E hanno fatto le cose in grande: synk e source su pulseuadio per inoltrare l'audio. Il problema più grande è che nella versione free l'autenticazione è attraverso password mentre in quella a pagamento puoi farla con chiave ssh pubblica/privata. Domanda quindi il client a cui ti connetti deve implementare una compressione video hardware giusto? E poi come hai fatto ad evitare la latenza di ssh sopratutto con la versione 2?
Interessante la soluzione di Nomachine. E comunque sicuramente re-implementabile anche in un progetto open. Per la compressione video uso ffmpeg e con quelle impostazioni se la cava bene anche con la CPU soltanto, ma questo aspetto è configurabile e attivando l'accelerazione hardware di ffmpeg hai benefici sia di latenza che di performance/consumi. La latenza di SSH non ho provato a ridurla in nessun modo (se hai qualche idea ben volentieri) e nonostante il giochino del doppio tunnel non è così male, anzi sono più che soddisfatto con la latenza attuale, ma ho re-implementato l'app in C+SDL solo per velocizzare il tutto di 20/30ms quindi le ottimizzazioni sono sempre ben accette!
per un attimo ho sperato che stessi per spiegare come implementare un'architettura client-server tra due host nattati SENZA poggiarsi su un server distruggendo così tutte le mie certezze
@@morrolinux haha ok in maniera ortodossa però :D e anche con lo slipstreaming se ho capito bene lo script malevolo si trova comunque su un server pubblico. Brutta storia comunque, fa capire l'importanza di un firewall sui singoli host oltre che a protezione della rete
Bellissimo! Ma mi hai fatto venire un'idea. Con USB/ip si potrebbe collegare una telecamera a un raspberry e non fare transitare i dati dal server dell'azienda dalla telecamera, connettendosi da un PC remoto?
molte cose possono essere migliorate "giocando" con i parametri di encoding lato server/ffmpeg, il tipo di encoder (per esempio, molti encoder opensource, hanno delle opzioni zero-latency encoding), ed eventualmente usando il variable frame rate (VFR). un ulteriore miglioramento, potrebbe essere l'utilizzo dell'encoding via GPU (vaapi/vdpau) o Quicksync (vaapi+intel media driver)
l'integrazione di usb/ip sarebbe particolarmente utile volessi collegare una scheda audio usb a raspberry o altro dispositivo d'interfaccia e gestire la scheda audio da remoto (driver proprietari... soprattutto se multicanale tipo soundblaster...) in una sessione windows su una macchina virtuale in rete o locale o non. Comunque per ora alla grande, ottimo.
bel video, complimenti per la soluzione “artigianale”. Hai mai provato chrome remote desktop ? Se si, perché non hai usato quello al posto di TV? Ps: la trap a fine video è molto apprezzata xd
Domanda secca, e ti chiedo una risposta sincera. È sufficiente il tuo corso udemy LPIC-1 per prepararsi e superare l'esame? Se no, che materiale mi consigli? Vorrei dare l'esame a fine anno. Grazie
Ciao, il programma del corso ricalca il programma d'esame quindi puoi stare tranquillo. Di tanto in tanto c'è chi mi viene a ringraziare perché ha passato l'esame seguendo il mio corso ma so che c'è anche chi preferisce affiancare lo studio con la guida di certificazione ufficiale (cartacea, in inglese) per poter sottolineare, fare appunti ecc. I contenuti ci sono tutti, in ultima battuta dipende se ti trovi meglio a studiare su carta o seguendo un corso e prendendo i tuoi appunti.
È un software che mi sono scritto ad-hoc ad uso interno, giusto un altro esempio di "reinventare la ruota" come alcuni di questa sezione commenti direbbero.
Bel progetto, stavo guardando i sorgenti, sono scritti abbastanza bene, ovviamente è un progetto appena nato e ha delle potenzialità, ovviamente l'interfaccia deve migliorare e ci solo alcune cose che possono essere automatizzate, comunque hai fatto bene ad utilizzare il kvm, perché è il metodo migliore per farlo
Sarei curioso di vedere se funziona ancora la tecnica del TCP Hole punching en.wikipedia.org/wiki/TCP_hole_punching 10 anni fa era usatissima da skype ed altri clients di download P2P... ora invece si preferisce far transitare tutto il traffico attraverso un server cloud.
Ma se ci mettessi un certificato e facessi passare il traffico su https? Inoltre potresti lasciare il socket aperto, usando ad esempio socket io di nodejs. Per quanto riguarda l’autenticazione ti basterebbe firmare un primo pacchetto per poi andare a garantire tutta la comunicazione a valle
Ciao, con Teamviewer un server centrale viene usato solo per la connessione, dopodiché i due computer comunicano direttamente (se il NAT non è troppo particolare). Hai anche tu una soluzione simile? Complimenti per il video.
@@morrolinux su linee disturbate e vps congestionati ricordo che in passato ho avuto dei problemi con dei miei server tcp. Alla fine avevo risolto con udp, riordinamento dei pacchetti e ritrasmissioni al bisogno.
Io per usi molto basilari mi connetto ai server remoti usando reverse ssh + TigerVNC, mi trovo abbastanza bene, hai già provato a vedere che latenza ti dà?
Carino ma... Perché hai deciso di creare la tua soluzione e non usarne una già pronta? Ad esempio quando TeamViewer mi ha rotto del tutto (perché ho perso accesso a una macchina remota per colpa di un aggiornamento) ho usato per un po' DWService, che permette di connettersi anche senza registrazione
Ciao! Hai intenzione di effettuare anche un porting per mac? Io su un vecchio Mac ho scelto VNC Viewer, lo stesso che c’è per Raspberry PI (quindi è più leggero di TeamViewer?). Se qualcuno lo conoscesse meglio di me mi faccia sapere cosa ne pensa. Grazie!
Complimenti !!! credi di farlo anche per windows come eseguibile spero, almeno io che ho sempre da "prendere in remoto win dei clienti" magari posso usarlo
Quindi se ho capito bene tu non vuoi aprire le porte 8080, 12345 e 12346. Quindi devi far parlare pc remoto e pc locale con il VPS sempre tutti sulla 22, e i contenuti in risposta vengono tutti gestiti a livello applicazione. Quando dici che sul pc locale ci sono i servizi in ascolto sulla 12345 e 12346, stai dicendo che le due applicazioni interrogano sulla 22 il VPS e ricevono da esso, sulla stessa porta, una ciò che il VPS ha ricevuto sulla 12345 e l'altro ciò che il VPS ha ricevuto sulla 12346.
Esperimento interessante a parte, visto che ne hai bisogno anche per lavoro, volevo segnalarti la soluzione che ho adottato io: sunshine lato server e moonlight lato client. Sto scrivendo questo commento da una Raspberry Pi 4 che si connette in remoto alla mia workstation principale.
Un ottima idea e una flebile speranza per me, che dopo l'obsolescenza di NX 3.5, sono dovuto passare a Nomachine Workstation for Linux usando il "protocollo legacy" (e cioe quello efficiente, basato su mlview-dxpc), con la doppia spada di damocle dell'abbandono di quel protocollo gia annunciato da Nomachine (che spero si estinguera' finalmente), e l'abbandono di X da parte delle distribuzioni presto o tardi. Ah, Nomachine Workstation for Linux, a differenza di NX 3.5 che era gratuito per un massimo di 2 utenti in contemporanea, e' shareware, gratis per 1 mese, poi bisogna toglierlo e rimetterlo e conseguentemente ammazzare la sessione che vorremmo tenere in piedi. E quindi, qualora questo non sia possibile, via di X11VNC :/ Conclusione? Se ti serve aiuto per questo progetto fai pure un fischio!
Ho giocato con chimera, ho provato varie configurazioni di ffmpeg, ma comunque il risultato non arriva neppure vicino a NX workstation. Pensandoci bene, e' anche impossibile che riesca, con questo approccio.
🎓 Vuoi diventare un PRO USER o un LINUX SYSADMIN CERTIFICATO?
Il modo migliore per cominciare è seguire un corso ben strutturato e semplice da seguire , per imparare al tuo ritmo e coi tuoi tempi, ma soprattutto tenuto da un docente sempre disponibile per rispondere alle tue domande.
Tengo corsi per tutti i livelli. Visita corsolinux.com per maggiori informazioni.
molto interessante ,ci avevo già buttato un occhio e fiinta l'estate un pensierino ce lo faccio
Questa e' pubblicita'.
@@DannyGodhouse Non mi sembra inopportuno parlare dei propri servizi professionali sotto i propri video anzi secondo me potrebbe anche spingerci di più questa tipologia di Marketing basato sulla fiducia nell influencer (appunto influencer marketing) è il marketing che funziona di più se usato bene.
@@noisiamo42 Non ho alcun dubbio che sia quello che funziona meglio.
Quando salti una settimana di video, quando l'assenza si nota, torni sempre con qualcosa di "speciale" e piacevolmente sorprendente. La cosa bella é che scopro una marea di cose con gli spunti che dai, ancora di più rispetto proprio alle spiegazioni che fai.
Grande Morro bel progetto, solo una considerazione, se uno tra client e server non può raggiungere il server che espone le porte per la connessione SSH perché magari dietro proxy si blocca tutto. La cosa migliore in queste situazioni sarebbe usare websocket in modo tale da fare passare tutto via http piuttosto che SSH e TCP, in tal modo potresti potenzialmente uscire da qualsiasi rete
È una buona idea!
Dovessi sostituire SSH per implementare qualcosa di custom ci farò in bel pensiero
@@morrolinux dovessi è una crisi alla @stockdroid?
@@fibroidss1194 è italiano (se) dovessi...
@@lucamalvicini2190 ho letto male il commento
Ti seguo anche se è il primo video da quando vedo RUclips che non ho capito dall inizio alla fine. Penso che siamo cose spettacolari da conoscere. Wow
Anydesk?
Clonando pc c'è anche la possibilità di rigenerazione dell'id
ci ho pensato anche io.. visto che c'è la versione su linux.. inoltre la licenza costa poco (io la pago per due sessioni, visto che la usiamo per lavoro)
Va benissimo
Anydesk è perfetto. Lo uso a lavoro nei casi serva assistenza da remoto (e spesso serve) e non ho mai avuto problemi! Usato su tutte le piattaforme (windows, macos, linux, android, ios) e non mi ha mai tradito
Con Anydesk, se lo hai in avvio automatico con password, quando ti colleghi apre una nuova sezione rdp, quindi non sempre è utile. Ovviamente solo se non hai un operatore dall’altra parte.
Bel progetto, bravo! Come sviluppi futuri unirei il client ed il server in unica soluzione pilotabile da riga di comando (--client --server) ed i meccanismi di security trust tra client e server (application integrity check, service trust level & endpoint auth mech)....con i chiari di luna di questi tempi....
Bravo, ottimo!
Mi sa che presto farò una qualche prova su delle macchine ARM che abbiamo in remoto.
Domandone: visto che hai usato Qt, pensi che sia possibile compilare il tutto anche per Windows?
Video interessante e ci sei tanto simpatico, ma per favore correggi in "soddisfaceva" perché "soddisfava" oltre a essere errato non si può davvero sentire (soprattutto in Toscana) 😜
(EDIT) Grazie della correzione, ti dimostri come sempre uno degli youtuber più educati e alla mano 🙃
CONGRATULAZIONI, che quelli bravi esistono si sa ma in genere li si vede da lontano, vederli invece in azione e' impressionante :-)
Non ci capisco nulla di tutto ciò ma guardo lo stesso volentieri perché sembra molto interessante!
Mostrare il mouse remoto a mio parere potrebbe risultare utile per permettere a chi è dall'altra parte di "indicare" dei punti particolari sul proprio desktop
Ottimo lavoro. Io però cercherei, oltre che di integrare le informazioni importanti del terminale, di fare anche una versione un po' più facile da usare anche per un potenziale "collega" che magari non vuole pigiare comandi dal terminale ma vuole per necessità vedere solo lo schermo remoto per fare un check rapido se funziona il tutto o se deve contattare gli sviluppatori o i sistemisti se ci fossero dei problemi. Inoltre renderei la cosa multipiattaforma. Lo so che è tanto ciò che chiedo ma come progetto open source non sarebbe manco male da continuare.
io usavo un programma per il gaming Remoto che a Teamviewer dava la pista (almeno un annetto fa) si chiama Parsec. le uniche cose che si pagano è se vuoi affittarti una macchina loro per giocare. ma puoi tranquillamente avere 2 pc uno molto scarso e uno molto potente e collegarli tra loro. Se hai tempo dacci una sbirciata. Bel lavoro
Non male anche se non c'è da scordare che uno dei vantaggi di TeamViewer è quello di essere multipiattaforma così che possa essere utilizzato tra os differenti
Anche Qt è multipiattaforma quindi se volesse renderlo come tale potrebbe metterci relativamente poco.
Uso molto anydesk per passare attraverso i firewall e fare assistenza remota agli utenti. Ma uso molto molto Remmina per fare manutenzione a server e PC dove non c'è un utente da assistere. Ma su Remmina sono in conflitto d'interesse, perchè sono uno dei devel... ;)
Ottimo video e interessante soluzione! Grazie.
ah! magari ti va di darmi un consiglio per un mio problema se lo conosci....:) ) remmina verso debian 10 gnome wayland con password: al primo tentativo di connessione, dopo un reboot della debian, compare l'icona sul pannellino gnome ma la connessione non va a buon fine..., a quel punto se riavvio il servizio utente gnome-remote-desktop tutto funziona regolarmente....(se riavvio il servizio prima del tentativo di connessione non risolve...) ciao!
Saluti da Perth, Australia; congratulazioni (issime !!!) per questo video; ti ho trovato x caso solamente oggi; ho gia' un background in networking eccetera .... ma ora voglio vedermi tutti i tuoi video, ci sta sempre qualcosa da imparare.
Nei sui video c’è molto poco da imparare 😂
Complimentoni pel video, molto preciso, pure troppo passami il termine😃
complimenti X i servizi. sono costretto x lavoro ad usare windows cosa devo fare x fare il porting?
quel sorrisino mentre parli dei tuoi corsi... bellissimo ahah
Da provare AnyDesk! Lo preferisco rispetto a TeamViewer. Bel video!
Tempo fa ho realizzato un applicativo per Android per pilotare remotamente un pc windows. Nel mio caso la chiave di volta per annullare le latenze fu utilizzare un socket udp sia per il client che per il server
Confermo, UDP ha un minor overhead e permette una latenza inferiore. Il problema è che volevo qualcosa che fosse anche un minimo sicuro (canale di comunicazione cifrato) perciò ho usato SSH per fare il tunnel, ma SSH gira su TCP :)
Per portare tutto su UDP probabilmente dovrei sostituire SSH con qualcosa di custom made che cifri il traffico e giri su UDP.. oddio fattibile eh, ma prima cerco di ottimizzare ogni possibile altro aspetto
morro, a mani basse il miglior divulgatore linux e open source italiano, e non solo, daresti la paga ai più grossi internazionali! ( pensaci a fare i doppi video in inglese, tipo non avresti piu vita pero oh :P )
Ciao, è prevista un'autorizzazione/ID da parte dell'end point che si vuole gestire o basta che abbia eseguito il software/agente che hai sviluppato?
Credo non serva nulla
Grande progetto... Sarebbe interessante sapere la prestazione paragonato con l X2Go (anche se ed e differente)... Avendo degli devices ARM a base Debian ma non Ubuntu, ci vorra qualche aggiustamenti da fare per le dipendenze. Comunque, grazie per le tue contribuzioni. :)
Buone notizie sul fronte ARM: sono riuscito a compilare ed eseguire il tutto anche su Pinephone con Alpine Linux e Pinebook Pro. È stato più semplice di quanto mi sarei aspettato!
Non ci capisco nulla ma per risolvere la configurazione dei tasti non puoi inserire una condizione if nella quale dici che se la finestra è aperta allora gli input riguardano solo quella finestra?
ma il discorso che non volevi pagare tw si è trasformato in un abbonamento in ogni caso.ovviamente molto meno costoso ma la gestione ip dns?
Il software proprietario dell'azienda per cui lavoro posso tenerlo solo sul laptop aziendale (un desktop replacement da 17 pollici non particolarmente portable) sempre in VPN negli stati uniti e ho usato un espediente identico per esporre un'api python, ma se questo dovesse avere prestazioni decenti anche nel mio caso lo uso di certo, grazie mille morro!
Grande! Bello vedere le cose che crei da zero :-)
Fantastico mi sarà sicuramente molto utile. Bel video e bel progetto . :)
Come funzionerebbe la multisessione? (Più gente che lavora sul PC remoto)
p.s. sono un utente pagante di TeamViewer. La latenza nel mio caso è dovuta solo alla connessione remota.
Comunque esiste già parsec, anche se è orientato al mondo gaming
Stavo per scrivere la stessa cosa, può essere usato tranquillamente come assistenza online.
Quanto è complicato secondo te riprodurre in un frame di una pagina web l'output? Ho una applicazione 3D (Windows only x ora, scritta in c++) che ho necessità di utilizzare tramite una pagina web. Tramite rdp ci riesco ma preferirei una soluzione meno standard per motivi di sicurezza. Grazie mille.
Cosa pensi di Anydesk?.. MAnca un vero rdp nativo in linux...
Sei incredibilmente somigliante a Barry Allen della serie tv!
Grazie per l'ottimo video.
Secondo te è possibile tramite rdp trasmettere audio da mac? perché attualmente non ho trovato nessun software che offre questa possibilità.
non uso troppo linux (purtroppo), il tempo a mia disposizione è sempre limitatissimo. ma l'anno scorso ho avuto necessità di fare + o - la stessa cosa tra un raspberry 24/7 e un tablet. ho usato l'app rd client (microsoft) e non ricordo quale pacchetto linux per il desktop remoto.
la limitazione a quanto capisco è la "pesantezza" del tutto, vuoi su tablet che è kitkat, vuoi su rasp che gestisce remoto grafico + altro software gestione dati. funziona, ma in media ogni 5 giorni devo riavviare il rasp
magari un domani che mi ritaglio qualche ora vedo di cambiare qualcosina
ciao
Hai parlato di USB/IP non e' possibile spostare la tastiera dal PC locale a quello remoto per ovviare alle scorciatoie che vengono intercettade dal remoto ?
Yes. Provato e funziona :)
Ottima idea, soprattutto considerando che VLC e X2go hanno svariate limitazioni implementative che li rendono inusabili in alcuni use cases
VLC... o VNC?
@@rdothegeek VNC ovviamente
Hai realizzato una cosa che pensavo di fare da un anno, complimenti!
Non credi che si potrebbe risparmiare circa metà della latenza utilizzando una connessione diretta e non il reverse SSH?
Si potrebbe aggiungere l'opzione di permettere una connessione client-server se si ha la possibilità di aprire una porta su almeno una delle 2 reti nattate(tramite port forwarding)?
uPnP potrebbe essere utile in questo progetto?
Spero di poter collaborare sul progetto e che diventi qualcosa di molto competitivo, anche se arrivo con 4 mesi di ritardo e magari hai perso un po' interesse
Aspetto tue notizie ✌️
Se hai l'opzione di aprire le porte per fare una classica connessione client-server, puoi semplicemente instaurare una connessione SSH dal client alla macchina da controllare e procedere alla stessa maniera, è tutto descritto sulla pagina GitHub del progetto
Bel progetto, complimenti!
Comunque sarei curioso di vedere le principali differenze che differiscono invece tra il sistema HPRDP che hai progetto tu ed Anydesk, che a differenza di TeamViewer ha una latenza praticamente irrisoria.
Per farti capire, non so se hai lo hai provato, il mouse pointer che vedi nella schermata non è quello locale come in TeamViewer, bensì viene mostrato il mouse pointer del PC remoto( lato server per intenderci) e la latenza è praticamente ridotta al minimo, anche utilizzando una rete non cablata, dunque da WiFi con lo smartphone.
Sarei veramente interessato ad una tua opinione in merito, anche perché ultimamente ho attivato un server vnc, instradato da protocollo SSH, e sarei curioso di eventuali migliori alternative presenti per questo fine.
11:00 sei sicuro che lo nasconda semplicemente? dovrebbe esserci un flag nella tendina in alto (solo durante una connessione remota attiva) chiamata 'Mostra cursore remoto', e da quanto posso vedere non lagga!
Credo che il modo in cui hanno implementato questa funzionalità sia:
1) ricevono le coordinate del mouse remoto ad ogni istante
2) disegnano il cursore del mouse localmente nella finestra di controllo
Dato che inviare delle semplici coordinate è molto più veloce di inviare un intero fotogramma (o anche soltanto la parte interessata) questo spiegherebbe come ottengono la bassa latenza del mouse.
Certo è pura speculazione dal momento che TeamViewer non è Open Source :)
Ma, tanto per chiedere, questo accrocchio non viola le best practices in ambito professionale? Così facendo stai aprendo un tunnel verso l'esterno saltando via il FW.
Solitamente per questo tipo di use case si utilizza una VPN.
veramente figo e utilissimo. Come software proprietario esiste Nomachine con il suo protocollo NX che ha performances veramente incredibili.
E hanno fatto le cose in grande: synk e source su pulseuadio per inoltrare l'audio. Il problema più grande è che nella versione free l'autenticazione è attraverso password mentre in quella a pagamento puoi farla con chiave ssh pubblica/privata.
Domanda quindi il client a cui ti connetti deve implementare una compressione video hardware giusto? E poi come hai fatto ad evitare la latenza di ssh sopratutto con la versione 2?
Interessante la soluzione di Nomachine. E comunque sicuramente re-implementabile anche in un progetto open. Per la compressione video uso ffmpeg e con quelle impostazioni se la cava bene anche con la CPU soltanto, ma questo aspetto è configurabile e attivando l'accelerazione hardware di ffmpeg hai benefici sia di latenza che di performance/consumi.
La latenza di SSH non ho provato a ridurla in nessun modo (se hai qualche idea ben volentieri) e nonostante il giochino del doppio tunnel non è così male, anzi sono più che soddisfatto con la latenza attuale, ma ho re-implementato l'app in C+SDL solo per velocizzare il tutto di 20/30ms quindi le ottimizzazioni sono sempre ben accette!
e qualcosa tipo parsec? per giocare da remoto?
per un attimo ho sperato che stessi per spiegare come implementare un'architettura client-server tra due host nattati SENZA poggiarsi su un server distruggendo così tutte le mie certezze
Se sei in vena di cose stravolgenti cerca "NAT Slipstreaming"... Buona lettura
@@morrolinux haha ok in maniera ortodossa però :D e anche con lo slipstreaming se ho capito bene lo script malevolo si trova comunque su un server pubblico. Brutta storia comunque, fa capire l'importanza di un firewall sui singoli host oltre che a protezione della rete
Come fai a tenere in ordine nella testa le cose fatte coi piedi giusto per capire la fattibilità?
Bellissimo! Ma mi hai fatto venire un'idea. Con USB/ip si potrebbe collegare una telecamera a un raspberry e non fare transitare i dati dal server dell'azienda dalla telecamera, connettendosi da un PC remoto?
grazie, anche per avermi fatto scoprire USB IP
molte cose possono essere migliorate "giocando" con i parametri di encoding lato server/ffmpeg, il tipo di encoder (per esempio, molti encoder opensource, hanno delle opzioni zero-latency encoding), ed eventualmente usando il variable frame rate (VFR). un ulteriore miglioramento, potrebbe essere l'utilizzo dell'encoding via GPU (vaapi/vdpau) o Quicksync (vaapi+intel media driver)
l'integrazione di usb/ip sarebbe particolarmente utile volessi collegare una scheda audio usb a raspberry o altro dispositivo d'interfaccia e gestire la scheda audio da remoto (driver proprietari... soprattutto se multicanale tipo soundblaster...) in una sessione windows su una macchina virtuale in rete o locale o non. Comunque per ora alla grande, ottimo.
bel video, complimenti per la soluzione “artigianale”.
Hai mai provato chrome remote desktop ? Se si, perché non hai usato quello al posto di TV?
Ps: la trap a fine video è molto apprezzata xd
Che figata pazzesca hai fatto! 💪❤️
Potevi usare Remotely che è pure open source
Corso preso subito sulla fiducia :)
noo il marco di marco's box, mitico!
Domanda secca, e ti chiedo una risposta sincera.
È sufficiente il tuo corso udemy LPIC-1 per prepararsi e superare l'esame?
Se no, che materiale mi consigli?
Vorrei dare l'esame a fine anno.
Grazie
Ciao, il programma del corso ricalca il programma d'esame quindi puoi stare tranquillo. Di tanto in tanto c'è chi mi viene a ringraziare perché ha passato l'esame seguendo il mio corso ma so che c'è anche chi preferisce affiancare lo studio con la guida di certificazione ufficiale (cartacea, in inglese) per poter sottolineare, fare appunti ecc.
I contenuti ci sono tutti, in ultima battuta dipende se ti trovi meglio a studiare su carta o seguendo un corso e prendendo i tuoi appunti.
Grazie mille per avermi risposto! Seguirò il tuo corso! Complimenti per il canale!
Morrolinux che ne pensi di Chrome remote desktop?
ci sono alternative gratuite in ambiente linux e windows a teamviewer?
oltre ai consigli sotto come udp etc, perché non usi una codifica libx265 con un minrate leggermente più flessibile?
Dai miei test non ho potuto osservare nessun vantaggio rispetto ad h264 in questo scenario. In compenso l'uso CPU era più alto
Hai provato ad usare nomachine?
Comunque, ottimo lavoro 👍
complimenti bel lavoro!
Bravo. Con IPv6 senza natting come funziona?
Se non hai il nat, dovrebbe bastare aprire un singolo tunnel SSH tra i 2 PC e il gioco è fatto. È spiegato nel readme del repo github del progetto
Che distro è questa? O meglio quella che stai usando nel video?
Quale telecamera utilizzi per i tuoi video? Da quanto tempo hai aperto il canale RUclips?
Interessantissimo per rasp sopratutto... solo che dovrai fare una guida per neofiti :-)
Posso chiederti cosa usi per fare la presentazione a 6:54?
È un software che mi sono scritto ad-hoc ad uso interno, giusto un altro esempio di "reinventare la ruota" come alcuni di questa sezione commenti direbbero.
Morroviewer 🙂
La butto lì: Anydesk?
Spettacolare ☝🏻
Vorrei consigliarti di fare la comparazione con nomachine
Bel progetto, stavo guardando i sorgenti, sono scritti abbastanza bene, ovviamente è un progetto appena nato e ha delle potenzialità, ovviamente l'interfaccia deve migliorare e ci solo alcune cose che possono essere automatizzate, comunque hai fatto bene ad utilizzare il kvm, perché è il metodo migliore per farlo
ho sperato fosse gratis il corso per mancanza di soldi,ma giustamente non lo è.GRANDE MORRO
costa quanto un libro quindi non è tantissimo
@@manuel-7832 il punto è che costa, poi per ancora poco tempo
Magari se non si passasse per il tunnel SSH si ridurrebbe ulteriormente la latenza e migliorerebbero le performance
Al modico costo della sicurezza dato che il protocollo è plaintext :)
Sarei curioso di vedere se funziona ancora la tecnica del TCP Hole punching en.wikipedia.org/wiki/TCP_hole_punching
10 anni fa era usatissima da skype ed altri clients di download P2P... ora invece si preferisce far transitare tutto il traffico attraverso un server cloud.
Ma se ci mettessi un certificato e facessi passare il traffico su https? Inoltre potresti lasciare il socket aperto, usando ad esempio socket io di nodejs. Per quanto riguarda l’autenticazione ti basterebbe firmare un primo pacchetto per poi andare a garantire tutta la comunicazione a valle
Ciao, con Teamviewer un server centrale viene usato solo per la connessione, dopodiché i due computer comunicano direttamente (se il NAT non è troppo particolare). Hai anche tu una soluzione simile? Complimenti per il video.
Data la natura peer to peer della cosa, credi che WebRTC/WebTransport possa migliorare la latenza della comunicazione?
WebRTC dovrebbe avere un'ottima latenza, devo indagare sulla fattibilità dell'implementazione ma devo dire che l'idea mi piace
Ma l'assistenza remota su TCP non ti crea problemi di impiantamenti della comunicazione?
Perché dovrebbe?
@@morrolinux su linee disturbate e vps congestionati ricordo che in passato ho avuto dei problemi con dei miei server tcp. Alla fine avevo risolto con udp, riordinamento dei pacchetti e ritrasmissioni al bisogno.
Io per usi molto basilari mi connetto ai server remoti usando reverse ssh + TigerVNC, mi trovo abbastanza bene, hai già provato a vedere che latenza ti dà?
L'ho provato diverso tempo fa e non mi aveva lasciato super soddisfatto, ma magari lo riproverò :)
bello, a quando per sistemi windows ?
Ciao Morro, puoi consigliarmi un utility migliore di top per monitorare le risorse?
htop
Hai provato Arcolinux?
Bravissimo!
Carino ma... Perché hai deciso di creare la tua soluzione e non usarne una già pronta? Ad esempio quando TeamViewer mi ha rotto del tutto (perché ho perso accesso a una macchina remota per colpa di un aggiornamento) ho usato per un po' DWService, che permette di connettersi anche senza registrazione
Più che altro mi sono divertito e ho imparato molto realizzando questo progetto
3 parole... SEi, UN, GRANDE! ;-)))
Ciao! Hai intenzione di effettuare anche un porting per mac? Io su un vecchio Mac ho scelto VNC Viewer, lo stesso che c’è per Raspberry PI (quindi è più leggero di TeamViewer?). Se qualcuno lo conoscesse meglio di me mi faccia sapere cosa ne pensa. Grazie!
VNC lo uso su tutti i miei dispositivi, è semplicemente incredibile!
Bello ma usare VNC ?
Si può usare anche nella rete locale?
Certo!
è fattibile una versione android?
Complimenti !!! credi di farlo anche per windows come eseguibile spero, almeno io che ho sempre da "prendere in remoto win dei clienti" magari posso usarlo
Dovrebbe essere fattibile il porting per Windows, indagherò.
Quindi se ho capito bene tu non vuoi aprire le porte 8080, 12345 e 12346. Quindi devi far parlare pc remoto e pc locale con il VPS sempre tutti sulla 22, e i contenuti in risposta vengono tutti gestiti a livello applicazione. Quando dici che sul pc locale ci sono i servizi in ascolto sulla 12345 e 12346, stai dicendo che le due applicazioni interrogano sulla 22 il VPS e ricevono da esso, sulla stessa porta, una ciò che il VPS ha ricevuto sulla 12345 e l'altro ciò che il VPS ha ricevuto sulla 12346.
complimenti per l'onestà a fine video bel video
Bravo Morro sempre sul pezzo!
Messenger x lan è presente per sistemi Linux?
Netcat is the way
Esperimento interessante a parte, visto che ne hai bisogno anche per lavoro, volevo segnalarti la soluzione che ho adottato io: sunshine lato server e moonlight lato client. Sto scrivendo questo commento da una Raspberry Pi 4 che si connette in remoto alla mia workstation principale.
Bravo. Complimenti!
si puo' usare da windows?
Hai mai provato Parsec?
Bel video bel lavoro. Bravo
Anydesk come soluzione ?
Un ottima idea e una flebile speranza per me, che dopo l'obsolescenza di NX 3.5, sono dovuto passare a Nomachine Workstation for Linux usando il "protocollo legacy" (e cioe quello efficiente, basato su mlview-dxpc), con la doppia spada di damocle dell'abbandono di quel protocollo gia annunciato da Nomachine (che spero si estinguera' finalmente), e l'abbandono di X da parte delle distribuzioni presto o tardi.
Ah, Nomachine Workstation for Linux, a differenza di NX 3.5 che era gratuito per un massimo di 2 utenti in contemporanea, e' shareware, gratis per 1 mese, poi bisogna toglierlo e rimetterlo e conseguentemente ammazzare la sessione che vorremmo tenere in piedi. E quindi, qualora questo non sia possibile, via di X11VNC :/
Conclusione? Se ti serve aiuto per questo progetto fai pure un fischio!
Ho giocato con chimera, ho provato varie configurazioni di ffmpeg, ma comunque il risultato non arriva neppure vicino a NX workstation.
Pensandoci bene, e' anche impossibile che riesca, con questo approccio.
Non hai mai provato AnyDesk?
Genio, punto. Potresti fare un video su usbip?