Uzak bir kutuya SSH gönderdiğimde
$ ssh -X remotebox
daha sonra uzak kutudaki firefox'u başlatın
remotebox$ firefox
ve yerel makinemde çalışan bir firefox var, yerel bir firefox penceresi açılacak. uzak kutu üzerinde hiçbir firefox işlemi çalışmıyor.
Firefox yerel makinemde çalışmıyorsa, uzak bir firefox penceresi açılacaktır.
Neden yerel bir firefox penceresi açıyor? Bunu nasıl önleyebilirim?
İşte benim yerel sistem hakkında daha fazla bilgi.
Linux lesmana-laptop 2.6.32-24-generic #42-Ubuntu SMP Fri Aug 20 14:24:04 UTC 2010 i686 GNU/Linux
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 10.04.1 LTS
Release: 10.04
Codename: lucid
DISPLAY=:0.0
Mozilla Firefox 3.6.8, Copyright (c) 1998 - 2010 mozilla.org
Uzaktan kutunun bilgisi.
Linux dxray 2.6.22.19-0.4-default #1 SMP 2009-08-14 02:09:16 +0200 x86_64 x86_64 x86_64 GNU/Linux
LSB Version: core-2.0-noarch:core-3.0-noarch:core-2.0-x86_64:core-3.0-x86_64:desktop-3.1-AMD64:desktop-3.1-noarch:graphics-2.0-AMD64:graphics-2.0-noarch:graphics-3.1-AMD64:graphics-3.1-noarch
Distributor ID: SUSE LINUX
Description: openSUSE 10.3 (X86-64)
Release: 10.3
Codename: n/a
DISPLAY=localhost:15.0
Mozilla Firefox 3.0.14, Copyright (c) 1998 - 2009 mozilla.org
Aşağıdaki komut, uzak bir firefox penceresiyle uzak bir firefox oturumu başlatır.
remotebox$ firefox -no-remote
Aşağıdaki komut kısa bir gecikmeye neden olur ve ardından İstem'e geri döner ve yerel bir firefox penceresi açılır. Uzaktan kutusunda çalışan bir firefox işlemi yok.
remotebox$ firefox
Remotebox2 bilgileri.
Linux marvin 2.6.31-22-generic #60-Ubuntu SMP Thu May 27 00:22:23 UTC 2010 i686 GNU/Linux
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 9.10
Release: 9.10
Codename: karmic
DISPLAY=localhost:11.0
Mozilla Firefox 3.6.8, Copyright (c) 1998 - 2010 mozilla.org
Remotebox2'deki aşağıdaki komut beklendiği gibi uzak bir firefox oturumu başlatır.
remotebox2$ firefox
Neden remotebox2'deki firefox'un yerel bir oturum yerine uzak bir oturum başlattığını bilmiyorum.
firefox -no-remote
dışında başka bir parametre firefox -no-xshm
olup, çalışması için kullanılan tekniği ortaya çıkarır.
X11 paylaşılan hafızası, belirli bir x sunucu oturumuna bağlı tüm uygulamalar tarafından kullanılabilecek bir işlemler arası iletişim tekniğidir. Sürükle ve bırak ve diğer masaüstü etkileşimi türlerini gerçekleştirmek için kullanılabilir.
Ayak izini (veya pencere sayısını) azaltmak için "bir kez aç" uygulamaları uygulamak için de kullanılabilir (ve kullanılır).
X11 protokolü ağ şeffaf olduğundan, "paylaşılan bellek" uzak X11 istemcilerine de genişletilir.
firefox -no-remote
'u deneyin
Not, bu beni rahatsız ediyor gibi kazma kubbe yaptım ve siz de ekleyebilirsiniz:
MOZ_NO_REMOTE=1
export MOZ_NO_REMOTE
profilinize.
Makineye bağlandığınızda bunu deneyebilirsiniz (ssh [email protected]
; not: -X seçeneği olmadan), önce follow komutunu yazın
export DISPLAY=:0
bu, varsayılan ekranı mevcut masaüstü ekranınınki ile değiştirir. Ve sonra sadece yaz
firefox
firefox'un masaüstü penceresinde ortaya çıkması için. Masaüstünde oturum açtığınızdan ve giriş yapmadığınızdan emin olun (giriş yok) aşağıdaki hatayı alırsınız;
firefox: cannot connect to X server :0
Bu yöntem aynı zamanda kilitli masaüstleri için de işe yarar. Lütfen masaüstünde ve ssh Shell'de same kullanıcı adıyla oturum açtığınızdan emin olun.
Birden fazla masaüstü oturumu olduğunda, her oturum :0
, :1
, :2
, vb. Şeklinde farklı bir numara ile tanımlanır.
Diğer çözümlerin hiçbiri benim için çalıştı, bu yüzden diğer sitelerde biraz arama yaptıktan sonra oldu.
Firefox'u, hepsini yerel makinede yapıyorsanız yaptığınız gibi, ayrı bir işlemde çalıştırmanız gerekir. Aşağıdaki gibi yeni bir profil oluşturmak için profil yöneticisini kullanın.
export MOZ_NO_REMOTE=1
firefox -ProfileManager
İşleri tutarlı tutmak için harici makinedeki her yeni profili ana bilgisayar adıyla aynı şekilde adlandırmaya karar verdim.
Uzak bir kutunun önünde oturuyormuş gibi web’de yerel olarak gezinmek istiyorsanız:
$ ssh -X [email protected]
daha sonra Firefox'u çalıştırın zak terminal oturumunda:
$ firefox https://test-ipv6.com/
ssh
komutunda -X
flag kullanımına dikkat edin. Her iki adımı da aşağıda gösterildiği gibi tek seferde yapabilirsiniz:
$ ssh -X [email protected] firefox http://test-ipv6.com/
Uzaktan çalışan bir uygulamanız varsa, bir tür web önyüzünü ortaya çıkarırsanız, uzak IP: bağlantı noktasını yerel bir IP: bağlantı noktası gibi göstermekle ilgilenirsiniz. Bu durumda, -L
seçeneği, aşağıdaki sözde komutta gösterildiği gibi localhost:localport
ve remotehost:remoteport
arasında bir yazışma tanımlar.
ssh -L localhost:localport:remotehost:remoteport [email protected]
Örneğin:
$ ssh -L 127.0.0.1:18080:internal.example.com:8080 [email protected]
sonra Firefox'u çalıştırın yerel olarak:
$ firefox http://127.0.0.1:18080
Yukarıdaki örnekte, SSH üzerinden [email protected]
cihazına bağlanıyorsunuz ve internal.example.com:8080
adresinde gösterilen bir web uçuyla ilgileniyorsunuz. Bu uzak IP: port yerel olarak 127.0.0.1:18080
konumunda gösterilir.
Sadece benim için neyin işe yaradığını ekleyeceğim. Basitçe firefox -no-remote
kullanmak normal hatayla başarısız oldu
Error: GDK_BACKEND does not match available displays
Ancak, aşağıdaki çalıştı:
ssh -Y [email protected]
firefox -no-remote
-Y
seçeneği güvenilir X11 yönlendirmesini sağlar. Güvenilir X11 iletimleri, X11 SECURITY genişletme denetimlerine tabi değildir. Sıkıştırmayı etkinleştirmek için ssh
komutuna -C
seçeneğinin eklenmesini düşünebilirsiniz.