jak spustit software gui na vzdáleném počítači se systémem linux přes ssh
<p>někdy musím spustit multimediální přehrávač xmbc nebo jiný software gui na jednom z mých pc (malý xubuntu pc používaný jako mediální centrum).</p><p>obvykle to dělám spuštěním serveru x11vnc na vzdáleném počítači přes ssh a poté připojením s klientem xvnc k ploše xfce.</p><p>existuje způsob, jak spustit software gui na vzdáleném počítači se systémem linux přes ssh?</p><p>dík!</p>
<p>ano. stačí spustit <code>export display=:0</code> (nebo cokoli, co je vzdálené zobrazení očíslováno jako) ve vaší ssh relaci a spuštěné programy se spustí na vzdáleném displeji. rychlý příklad:</p><pre><code>oli@bert:~$ ssh tim oli@tim:~$ export display=:0 oli@tim:~$ firefox </code></pre><p>firefox nyní běží na displeji <code>tim</code>.</p><p>když však ukončíte relaci ssh, po většinu času se vzdálená aplikace ukončí. pokud se chcete odpojit od ssh, ale nechat aplikaci spuštěnou, musíte ji spustit speciálním způsobem pomocí něco jako obrazovka (udržuje relaci ssh běžící na pozadí) nebo <code>nohup</code>, nebo jinou metodou. pro více informací o tomto <a href="https://askubuntu.com/questions/10547/how-to-clean-launch-a-gui-app-via-the-terminal-so-it-doesnt-wait-for-terminatio">tam byla nedávno jiná otázka</a> .</p><p>to vše můžete zkrátit na jediný příkaz, který se připojí, exportuje zobrazení do řádku a spouští aplikaci způsobem, který ji nezavře po smrti relace ssh:</p><pre><code>ssh tim "display=:0 nohup firefox" </code></pre>
Cez VPN-ku by to neslo?  
VPN klienta nechas po spusteni PC sa pripojit na server s verejnou IP a synchro software mozes pouzit podle libosti. Alebo si to hodis do naplanovanych uloh. <p>použijte příkaz <a href="http://pkgs.org/centos-6/epel-i386/sshpass-1.05-1.el6.i686.rpm.html"><code>sshpass</code></a> k odeslání souboru </p><blockquote> <p>vytvoření prostředí -&gt; spuštění skriptu shell na vzdáleném počítači pomocí ssh -&gt; post build script</p> </blockquote><p>ukázkový příkaz:</p><pre><code>sshpass -p "password" scp path/of/file &lt;new\_server\_ip&gt;:/path/of/file </code></pre><p>toto vynechá heslo prompt for <code>scp</code> a poskytne heslo <code>scp</code>.</p> <p>pokud chcete přesměrovat připojení x přes ssh, musíte jej povolit na straně serveru i klienta. (v závislosti na distribuci může být ve výchozím nastavení povoleno nebo zakázáno.) na straně serveru se ujistěte, že máte <code>x11forwarding yes</code> v <a href="http://www.freebsd.org/cgi/man.cgi?query=sshd\_config&amp;sektion=5"><code>/etc/sshd\_config</code></a> (nebo <code>/etc/ssh/sshd\_config</code> nebo kdekoli je konfigurační soubor). na straně klienta předejte možnost <code>-x</code> <a href="http://www.freebsd.org/cgi/man.cgi?query=ssh&amp;sektion=1"><code>ssh</code> příkaz</a> , nebo vložte do svého <a href="http://www.freebsd.org/cgi/man.cgi?query=ssh\_config&amp;sektion=5"><code>forwardx11</code> <code>~/.ssh/config</code></a> .</p><p>pokud spustíte <code>ssh -x localhost</code>, měli byste vidět, že <code>$display</code> je (pravděpodobně) <code>localhost:10.0</code>. kontrast s <code>:0.0</code>, což je hodnota, když nejste připojeni přes ssh. (část <code>.0</code> může být vynechána; je to číslo obrazovky, ale více obrazovek se používá zřídka.) existují dvě formy x displejů, s nimiž se pravděpodobně setkáte:</p><ul> <li>místní displeje, s ničím před <code>:</code>.</li> <li>zobrazí se tcp s názvem hostitele před <code>:</code>.</li> </ul><p>s <code>ssh -x localhost</code> můžete přistupovat k x serveru přes obě displeje, ale aplikace budou používat jinou metodu: <code>:number</code> přistupuje k serveru prostřednictvím lokálních soketů a sdílené paměti, zatímco <code>hostname:number</code> přistupuje k serveru přes tcp, což je pomalejší a deaktivuje některá rozšíření.</p><p>nezapomeňte, že pro přístup k serveru x potřebujete formu autorizace nazvanou cookie a obvykle uloženou za scénami v souboru <code>~/.xauthority</code>. pokud používáte ssh pro přístup k jinému uživatelskému účtu nebo pokud vaše distribuce umístí soubory cookie do jiného souboru, možná zjistíte, že <code>display=:0</code> nefunguje v relaci ssh (ale <code>ssh -x</code>, pokud je to povoleno na serveru; při provádění <code>ssh -x</code> nemusíte nikdy mluvit s <code>xauthority</code>. pokud se jedná o problém, musíte <a href="https://unix.stackexchange.com/questions/10121/ssh-display-variable/10126#10126">nastavit proměnnou prostředí <code>xauthority</code></a> nebo <a href="https://unix.stackexchange.com/questions/1596/can-i-launch-a-graphical-program-on-another-users-desktop-as-root/1600#1600">získat soubory cookie jiného uživatele</a> .</p><p>chcete-li odpovědět na aktuální otázku:</p><ul> <li> <p>místní displeje odpovídají soketu v <code>/tmp/.x11-unix</code>.</p> <pre><code>(cd /tmp/.x11-unix &amp;&amp; for x in x*; do echo ":${x#x}"; done) </code></pre></li> <li> <p>vzdálené displeje odpovídají otevřeným tcp portům nad 6000; přístup k zobrazovacímu číslu n na počítači m se provádí připojením k portu tcp 6000 + n na počítači m. ze samotného stroje m:</p> <pre><code>netstat -lnt | awk ' sub(/.*:/,"",$4) &amp;&amp; $4 &gt;= 6000 &amp;&amp; $4 &lt; 6100 { print ($1 == "tcp6" ? "ip6-localhost:" : "localhost:") ($4 - 6000) }' </code></pre> <p>(zbytek této odrážky je pouze v akademickém zájmu.)</p> <p>z jiného počítače můžete pomocí <code>nmap -p 6000-6099 host\_name</code> zkoušet otevřené tcp porty v obvyklém rozsahu. dnes je vzácné, že x servery poslouchají na soketu tcp, zejména mimo rozhraní zpětného smyčky.</p> <p>přesně řečeno, jiná aplikace by mohla používat port v rozsahu obvykle používaném x servery. můžete zjistit, zda server x poslouchá kontrolou toho, který program má port otevřený.</p> <pre><code>lsof -i -n | awk '$9 ~ /:60[0-9][0-9]$/ {print}' </code></pre> <p>pokud se ukáže něco dvojznačného, ​​jako je <code>sshd</code>, neexistuje žádný způsob, jak zjistit, zda se jedná o server x nebo náhoda.</p> </li> </ul> bych zkusil na počítač s linuxem dát Virtualbox, do něj Win XP s originál softwarem. Pokud by daný počítač neměl LPT, tak jsem používal letitou tiskárnu přes čínský LPT/USB adaptér za 50 Kč a fungovalo to v pohodě.PS: linux pro host PC s Virtualboxem bych použil z víc důvodů - krom bezplatné licence a výborné stability systému s ním mám taky dobré zkušenosti s podobným "prodrátováním" se starým HW. Ten LPT/USB adaptér by se myslím pro XP ve Virtualboxu měl tvářit jako nativní LPT port. Sambu.Návodů je hromada, pro Debian budou i česky, to sem nemá smysl opisovat:[http://mis.e-mis.cz/index.php/Sd%C3%ADlen%C3%...](http://mis.e-mis.cz/index.php/Sd%C3%ADlen%C3%AD_soubor%C5%AF_pomoc%C3%AD_Samby) <p>dalším způsobem je volání tlumočníka a předání cesty ke skriptu:</p><pre><code>/bin/sh /path/to/script </code></pre><p>tečka a zdroj jsou ekvivalentní. (úprava: ne, nejsou: jak keithb zdůrazňuje v komentáři k jiné odpovědi, „.“ funguje pouze v shellech souvisejících s bashem, kde „zdroj“ pracuje v shellech souvisejících s bashem i csh.) spustí skript v - místo (jako byste zkopírovali a vložili skript přímo sem). to znamená, že všechny funkce a nelokální proměnné ve skriptu zůstanou. to také znamená, že pokud skript provede cd do adresáře, budete tam stále, když bude hotovo.</p><p>ostatní způsoby spouštění skriptu jej spustí ve vlastní podsíti. proměnné ve skriptu nejsou po dokončení stále naživu. pokud skript změnil adresáře, pak to neovlivní volající prostředí.</p><p>/ cesta/do/skript a/bin/sh skript se mírně liší. skript má obvykle na začátku „shebang“, který vypadá takto:</p><pre><code>#! /bin/bash </code></pre><p>toto je cesta k interpretovi skriptu. pokud specifikuje jiného tlumočníka než vy, když jej provedete, může se chovat odlišně (nebo nemusí fungovat vůbec).</p><p>například skripty perl a ruby skripty začínají (respektive):</p><pre><code>#! /bin/perl </code></pre><p>a</p><pre><code>#! /bin/ruby </code></pre><p>pokud spustíte jeden z těchto skriptů spuštěním <code>/bin/sh script</code>, pak nebudou vůbec fungovat.</p><p>ubuntu ve skutečnosti nepoužívá bash shell, ale velmi podobný, který se nazývá pomlčka. skripty, které vyžadují bash, mohou při volání <code>/bin/sh script</code> protože jste právě zavolali bash skript pomocí pomlčkového tlumočníka.</p><p>další malý rozdíl mezi přímým vyvoláním skriptu a předáním cesty skriptu interpretovi je, že skript musí být označen jako spustitelný, aby jej mohl přímo spustit, ale ne jej spustit předáním cesty interpretovi.</p><p>další drobná variace: můžete předponou libovolného z těchto způsobů spustit skript s evalem, takže můžete mít</p><pre><code>eval sh script eval script eval . script </code></pre><p>a tak dále. ve skutečnosti to nic nezmění, ale myslel jsem, že to zahrnuji pro důkladnost.</p> <h2>pro 12.04 a novější</h2><p><code>gconf</code> je nyní zastaralé - <a href="http://en.wikipedia.org/wiki/gconf">http://en.wikipedia.org/wiki/gconf</a> - a <code>gsettings</code> lze použít místo něj.</p><pre><code>gsettings set org.gnome.desktop.default-applications.terminal exec 'terminal' </code></pre><p>kde <em> terminál </em> je příkaz, který byste použili k jeho otevření z terminálu.</p> Navod zde: [http://www.kali.org/how-to/kali-linux-android...](http://www.kali.org/how-to/kali-linux-android-linux-deploy/) Potrebujete rootnoty Android 2.1 a vyssi, minimalne 5GB pameti, rychle internetove pripojen(idealne pres wifi), trpelivost :)1. nainstalujte Linux Deploy [https://play.google.com/store/apps/details](https://play.google.com/store/apps/details?id=ru.meefik.linuxdeploy&hl=cs)2. Spustte Linux Deploy3. Povolte SuperUser access4. Tuknete na sipecku v pravem hornim rohu5. V kolonce Distribution vyberte Kali Linux5a. Osobne jsem jeste radeji nastavilImage Size na 7128, coz vyzaduje mit SD kartu naformatovanou alespon na ext26. Tuknete na install7. Dejte si kafe nebo sloficka, protoze instalace chvili potrva.8. Pokud instalace skoncila bez problemu, tak stisknete start.9. Pripojte se pres ssh nebo vnc. Pripadne pokud mas Nvdia GTX grafiku, lze pouzit Nvida Gamestreaming (soucasti Geforce Expirience balicku) a na stane prijimace pouzit neoficialniho klienta - Moonlight [https://moonlight-stream.com/](https://moonlight-stream.com/#) Ve virtualpc vytvaris virtualni disk , predpokladam ze nebude naformatovanej ,takze napred spustit fdisk a vytvorit aktivni oddil a ten pak naformatvat prikazem format pak to pojede....  
jak fdisk tak format jsou na cd win98 ze ktereho se da spustit i msdos s podporou mechanik aby se na tohle dalo dostat....