X11 nasıl çalışır?


4

Uzak bir makineye bağlanırken ve bir sürü sorunla karşılaştığımda X11'in mac'umda çalışmasını sağlamaya çalışıyorum. Tüm günümü boşuna uğraşmakla geçirdim. İşte benim temel sorularım:

  1. Ssh -X, ssh -Y arasındaki fark nedir ve bunu yaptığımda hangi bilgisayar (yerel veya uzak) x sunucusuna sahiptir ve hangileri istemcilere sahiptir?

  2. Startx komutu x sunucusunu başlatır mı? Eğer terminalime gidip startx'e basarsam tek yaptığım xserver'ı başlatmak mı?

  3. Neden uzaktaki bir bilgisayara ssh eklemek ve startx kullanmak isteyeyim ki? Startx kullanmak için -X ya da -Y'ye ihtiyacım olacak mı? Uzaktaki bir makinede gnome / kde için masaüstünü çalıştırmaya ilişkin okuduğum her şey size startx kullanımı için çağrıda bulunuyor. Bu senaryoda startx kullanırsam, xserver kim ve xclient kim?

  4. Gnome / kde'nin pencere yöneticileri, uzak makinede startx kullanmak istemezse, mac'un kendi x11 pencere yöneticisini uygulamasına engel olur mu? düzeltmek için yine de var mı?

  5. VNC gibi bir şey bunların hepsinde nasıl bir rol oynar? Uzak X oturumu ile uzak makineye girip startx kullanmak arasında bir fark var mı?

  6. Sunucu uzak makinemde bir GUI masaüstünü çalıştırmak için gnome / kde almak için doğru yol / komut nedir? (yani bilgisayarımda görüntülenen masaüstü sunucunun bilgisayarıdır). Ve masaüstünde duvar kağıdı, klasör, geri dönüşüm kutusu vb. İstiyorum.

  7. Eğer NX / VNC, # 6 yerine gerçek bir uzak masaüstüne sahip olmanın tek yoluysa, neden gnome-oturumu ya da $ startkde komutları olmasa da ssh -X ile istediğim masaüstünü açın doğru şekilde?

Bunların her birinin ayrı ayrı ele alınması, ancak bana yardımcı olacak bazı açık belgelere yönlendirebilirseniz yardımcı olacaktır!


2
Bunu birden fazla soruya bölmenizi ya da topluluk wiki yapmanızı öneririm. Sistem birden fazla doğru cevaba izin vermiyor ve her bir bireye cevap verilmiş bir soruna sahip olmak bir problem yaratacak.
BinaryMisfit

üzgünüm, tek tek kastettiğimde, 1 mesaj demek istedim, ancak 1. cevap, 2. filan, 3. fiil olarak cevapladım. Her bir soru # için ayrı bir cevap alma niyetindeyim.
Tony Stark

Yeterince adil, ancak, bir defada bir soruya cevap vermek yerine pratik olarak kabul edilir. Sorunuza yalnızca bir doğru cevap bulacağınızdan şüpheliyim.
BinaryMisfit

wiki yaptım :)
Tony Stark

@Diago, bu soruya neden osx etiketi ekliyorum? Linux değil, değil mi?
Gnoupi

Yanıtlar:


2
  1. Ssh -X doğru çağırırsam, X sunucusunu hedef makineye eşler ve ardından SSH tarafından oluşturulan kanal üzerinden bağlantıları terminale yönlendirir (örn. Makineniz). "X sunucusu", bu pencereleri kullanan programlar olan "X istemcileri" için pencereyi çizen yazılımdır.

  2. Evet, startx X sunucusunu başlatır. Ancak Mac OS X'te, Utilities içinde X11.app'i başlatarak X sunucusunu başlatırsınız.

  3. SSH'ye girdiğiniz bilgisayardaki X sunucusunu yeniden başlatmaya çalışmadığınız sürece bunu gerçekten istemezsiniz. Ancak bunun, o bilgisayarla bağlantınızla veya o bağlantıyla çalıştırmak istediğiniz programlarla ilgisi yoktur.

  4. Soruyu anladığımdan emin değilim. Uzak sunucunun hangi pencere yöneticisini çalıştırdığı, bağlantınız için önemli değil. Pencere yöneticileri X sunucularında (özel X istemcileridir) çalışır ve Mac'inizdeki X sunucusu ve uzak makinedeki X sunucusu iki ayrı canavardır.

  5. VNC, GUI uygulamalarını uzaktan görüntüleme sorunu için farklı bir çözümdür. İkisini birleştirebilirsiniz, ancak bunları ayrı ayrı anlamaya çalışmanızı öneririm.

  6. Paul Mac'iniz olsun ve Peter bağlandığınız (Linux) makine:

Paul: startx (veya X11.app'i başlatın ve aşağıdakiler için oluşturduğu terminal penceresini kullanın)

Paul: xhost + Peter

Paul: ssh -X Peter

Peter: xlogo & (bu şimdi Paul'un ekranında görüntülenmeli, değilse devam etmelidir)

Peter: ihracat DISPLAY = Paul: 0

Peter: xlogo & (bu şimdi Paul'un ekranında gösterilmeli)


teşekkür ederim, çok yararlı. şimdi, cevaplarınıza cevap olarak: 1. -Y ne yapar? sadece uzaktaki bilgisayara güvendiğinizi ve okuduğum her şeyi yapmanıza izin verdiğinizi söyleyin. 2. terminalde startx yazma mac için uygulamalarda x11'e basmaya eşdeğerdir, doğru mu? 4. şimdiye kadar, benim bilgisayarımda x11 sunucusuyla uzaktaki bir bilgisayara girdiğimde, $ startkde ya da $ gnome-session yazdığımda ilgili masaüstleri gösterilir, ancak pencereler batırılır, çünkü bir klasörü açarsam açılır. mac'larımdaki arka plan x11 ve bu nedenle masaüstünün arkasına gizlenmiş durumda. Bir pencerenin mngrs çatışması olduğunu duydum
Tony Stark

1. Ne yaptığını bilmiyorum. 2. Evet. Onlar aynı. 4. Mac'ten bağlandığınızda KDE veya Gnome'u başlatmayın. GNOME ve KDE programları çalışmakta olan tüm masaüstüne ihtiyaç duymaz.
Andrew J. Brehm

2

Neden uzaktaki bir bilgisayara ssh eklemek ve startx kullanmak isteyeyim ki? Startx kullanmak için -X ya da -Y'ye ihtiyacım olacak mı? Uzaktaki bir makinede gnome / kde için masaüstünü çalıştırmaya ilişkin okuduğum her şey size startx kullanımı için çağrıda bulunuyor. Bu senaryoda startx kullanırsam, xserver kim ve xclient kim?

X'in istemci / sunucuya göre 'sıradışı' bir tanımı vardır.
Grafik ekranlı makine sunucu, uygulamalar ise müşteridir. Böylece, XServer'ı yerel olarak (startx ile) başlatır ve istemcileri (uygulamayı) muhtemelen uzaktan çalıştırırsınız.

Yalnızca yerel uygulamalar kullanıyorsanız, bunların hiçbiri gerçekten önemli değil. Uygulamanızın gerek duyduğu eski günlerde bir 'sunucunun' (yani bodrumdaki BÜYÜK makine) sayma gücünün kırılması, işi ekranlı olmayan bir makinede çalıştırabilir ve ofisinizde terminalde görünmesini sağlayabilirsiniz.

Pencere yöneticisi ilginç bir durumdur. Bu başka bir şey gibi sadece bir X uygulamasıdır. Bir Xserver'ı Mac'te yerel olarak başlatmak mükemmel bir şekilde mümkün, daha sonra başka bir yerde çalışan bir Linux makinesinde çalışan bir X uygulamasında çalışırken yerel pencerelerinizi yöneten Sun üzerinde çalışan bir Motif pencere yöneticisine sahip olun.

ps. sep yanıtlarında cevap verecek, böylece kullanıcılar yorum yapabilir / düzenleyebilir.


@mgb: oops, açıklığa kavuşturmama izin verin (bunun soru 3'e cevabınız olduğunu varsayarak). yerel makinemde startx kullanmak bana mantıklı geliyor. fakat uzaktaki bir sunucuda bir gnome / kde masaüstünün nasıl etkinleştirileceğini okurken, kullanılacak komut startx. bu hiç mantıklı değil. neden xserver'ın uzak sunucuda olmasını isteyeyim? Yaptığı bu mu?
Tony Stark

1

VNC gibi bir şey bunların hepsinde nasıl bir rol oynar? Uzak X oturumu ile uzak makineye girip startx kullanmak arasında bir fark var mı?

VNC benzer bir işi biraz farklı bir şekilde yapıyor. VNC basitçe tüm bir ekranı veya tek bir pencereyi alır ve videoyu ağ üzerinden yerel makinenizi VNC uygulamasına gönderir. X uzaktaki makinede bir uygulama çalıştırıyor ancak tüm ekran komutlarını ağ üzerinden yerel X ekranınıza gönderiyor. X aslında yerel olarak çalışırken bile bunu yapar ancak aynı makineye yapılan bir ağ araması kısayol olabilir ve çok hızlıdır.

ps. Uzaktaki bir makineye ssh ve startx - yerel olarak X sunucusunu başlattıktan sonra uzaktaki bir makineye ssh başlatır ve bir X uygulaması başlatır (office / gimp / xeyes / etc) ve X bunu yerel olarak gösterir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.