הכרות עם 3 NX (שולחן עבודה למחשב מרוחק)

| | |
NX 3 Remote Desktop Accessבין שלל תכנות המאפשרות יצירת שולחן עבודה מקומי למחשב מרוחק בולטת NX. פעולתה מהירה ומאובטחת, השמוש בה פשוט ומתקיים על רשת מקומית או על רשת האינטרנט, ובין מחשבי לינוקס, חלונות מק וסולריס, והרכבים מגוונים שלהם.

המחשב המרוחק (שבשולחן העבודה שלו אנו רוצים להשתמש מקומית) נקרא שרת ("Server"), והמחשב המקומי (זה שאנו יושבים מול המסך שלו ומשתמשים במקלדת ובעכבר שלו) נקרא הלקוח ("Client"). כדי שהפעולה תתאפשר חייבת תוכנת NX שרת להיות מותקנת על המחשב המרוחק ותוכנת NX לקוח על המחשב המקומי. רבות מהפצות לינוקס כוללת בתוכן תכנת NX לקוח חופשית, אך לא די בה כדי ליצור שולחן עבודה מקומי.

NX מאפשרים הורדת תוכנות שרת ולקוח חינמיות עבור הפצות לינוקס וסולריס ותוכנות לקוח חינמיות עבור מערכות ההפעלה לינוקס, חלונות, מק וסולריס. עבור תוכנות השרת צריכים משתמשי המערכות הקיניניות לשלם, וביוקר רב. למשתמשי לינוקס יש על כל פנים אלטרנטיבות חופשיות ליצירת שולחן עבודה של מכונת חלונות מרוחקת – אם כי לא מאובטחות ברמה ש-NX מאובטחת. אחת מהן תתואר בסוף הסקירה שלפנינו.

א. הורדה והתקנה

א. 1 - לינוקס
הפעולות שלהלן יתוארו עבור מערכת ההפעלה אופן-סוזה 11.1, אבל הן דומות בעיקרן לנעשה בהפצות אחרות: הורדה, יצירת מאגר מקומי, התקנה באמצעות מנהל החבילות.

ההורדה נעשית מאתר החברה: nomachine.com. יש להוריד את החבילות nxclient, nxserver, nxnode - ישנן עוד חבילות, לשימושים מתקדמים, אך בסקירה זו נסתפק בשמושים הבסיסיים. הורידו את החבילות המתאימות להפצה ולארכיטקטורה שלכם.

למכונת 32 ביט המריצה אופן-סוזה 11.1 הורדתי את החבילות הבאות:

nxclient-3.3.0-6.i386.rpm
nxmanager-3.3.0-2.i386.rpm
nxnode-3.3.0-11.i386.rpm
nxplugin-3.3.0-2.i386.rpm
nxserver-3.3.0-15.i386.rpm


ושמרתי אותם בתקיה הבאה שיצרתי לשם כך: /home/lulisa/Documents/software/rpm/. ספריה זאת נמצאת בספריית הבית של המשתמש lulisa.
אחרי כן פתחתי את YaST --> Software --> Repositories והוספתי את התיקיה הנ"ל כמאגר מקומי (ראו תמונה):

NX.png

אחרי צעדים אלה ניתן להתקין את החבילות בקלות, ובלי לדאוג לתלויות, על ידי שמוש ב YaST --> Software --> Software Managment עצמו. בשלב זה מספיק להתקין רק את שלוש החבילות nxclient, nxserver, nxnode שנזכרו למעלה.

א. 2 – חלונות
כאן יש להוריד, מתוך האתר שנזכר למעלה את nxclient-3.3.0-6.exe ולהתקין אותה על ידי הקלקה עליה, כמקובל בחלונות.

ב. שמוש
הפעולה הראשונה שכדאי לעשות היא ליצור מפתח הצפנה פרטי. מפתח זה יופץ בין הלקוחות הפוטנציאלים ויאפשר את התחברותם לשרת. כאמור, ב NX החופשי אפשריים שרתים רק על מכונות לינוקס ו Solaris.

יש להריץ כרוט את הפקודה הבאה:

/usr/NX/scripts/setup/nxserver --keygen 
המפתח שנוצר הוא קובץ טקסט בן 668 ביט. יש להעתיק אותו ל DOK או לאמצעי אחר איתו נוכל להעביר אותו למחשבי הלקוח באשר הם באופן מאובטח.
השלב הבא הוא הפעלת שרות ה NXserver. את זאת ניתן לעשות כרוט על ידי הרצת הפקודות:

/etc/init.d/nxserver start
/etc/init.d/nxserver stop
/etc/init.d/nxserver restart


או באופן גרפי: YaST --> System --> Run level ובו לאפשר את השרות nxserver, ולחזור ולוודא שהוא אמנם פועל. במחשבים בהם קיימת חומת אש יש לפתוח את פורט 22 ולאפשר Secure Shell Server.

עכשיו, כאשר במחשב המרוחק רץ כבר שרת NX ובמחשב שלנו (בין אם הוא לינוקס ובין אם הוא חלונות) כבר הותקן לקוח NX, והמפתח זמין, ניתן להתחיל בהתקשרות.

מתוך התפריט הראשי (באופן-סוזה במדור internet) נבחר ב NX connection wizard. אחרי חלון "ברוכים הבאים" עולה חלון בחירת השרת (המחשב המרוחק):

NX1.png

נמשיך ונגיע לחלון בחירת שולחן העבודה (ב NX חופשי השרת יהיה תמיד מסוג UNIX כך שבחלונית זו לא ניגע).

NX2.png

ניתן לבחור בין השולחנות הבאים: KDE, GNOME, CDE, XDM, או Custom דהיינו "כבקשתכם”. אם בוחרים ב Custom נעשית הלשונית Settings פעילה ובה ניתן לבחור באופציות אחדות.

בגרסאות הנכחיות של לינוקס מותקנים לעיתים שני מופעים של KDE: האחד גרסה 4 והשני גרסה 3.5. במקרים אלה תגרום בחירה ב KDE לעליית KDE4. אם מעוניינים שיעלה KDE 3.5 יש לבחור ב Custom ובו לסמן Default Desktop וזאת בתנאי, כמובן, ש KDE 3.5 היא ברירת המחדל בשרת (בחלון KDM או GDM).

סימנתי גם שיעלה גם שולחן עבודה "נקי" ולא העתק של שולחן העבודה שכבר פעיל (floating). ניתן לבחור ברזולוציות הבאות לשולחן העבודה המקומי: 640X480, 800X600, 1024X768, available, Fullscreen, custom.
ברירת המחדל היא available אבל היא עשויה להיות בעייתית. למשל, בחירה בה על לקוח בעל זוג מסכים הפועלים ב TwinView ובעלי רזולוציה של 1280X1024 הקשורים למערכת המריצה Compiz-Fusion (דהיינו זוג קוביות) כדי להציג שולחן עבודה מרוחק של מחשב בו הרזולוציה 1600X1200 מסתיימת בשולחן עבודה ה"מרוח" על שתי פאות הקוביה הימנית – תוצאה בלתי שמושית בעליל.

לשם התחלה מומלץ איפה לבחור ברזולוציה נמוכה יחסית, כמוראה בתמונה.
בחלון הבא סימנתי יצירת קישור לשולחן העבודה, והוספת אפשרויות מתקדמות. גם אם לא נבחר ביצירת קישור לשולחן העבודה ישמרו בחירותינו בתיקיה הנסתרת /home/lulisa/.nx/config ועד שלא נמחק אותה היא לא תאפשר לנו לעשות בחירות אחרות תחת אותו שם.

NX4.png

אחרי אישור יעלה המסך הבא (סבלנות! זה לוקח קצת זמן):

NX5.png

הלשונית החשובה ביותר בו היא הלשונית Key, המאפשרת לנו לנווט אל המקום בו שמרנו את מפתח השרת ו"לייבא" אותו. יש לשמור את המפתח שיובא, ולשמור את החלון כולו - ואנו מוכנים לפעולה.

אם ברצוננו לאפשר הדפסה, שיתופי סמבה או צליל מקומי עלינו ללחוץ על הלשונית Services ולסמן בהתאמה.

NX6.png

אחרי שמירה ואישור עולה החלון הבא, שנראה כך אחרי שהזנו בו את שם המשתמש בשרת ואת הססמה שלו:

NX8.png

בפעם הראשונה שנלחץ עליו תפתח התקשרות ssh עם השרת, ואם זו הפעם הראשונה שזו נערכת נתבקש לאשר שזוהתה "טביעת האצבעות הנכונה". אחרי אישור, ובתנאי שלא שגינו ביבוא המפתח, יעלה אצלנו שולחן העבודה המרוחק!

ג. שולחן עבודה מרוחק חלונות על לקוח לינוקס
גם אפשרות זו קיימת, חופשי וחינם על ידי יישום ושמו Rdesktop. מתקינים אותו באמצעות מנהל ההתקנות. אחרי ההתקנה יש לאפשר במחשב החלונות התחברות מרחוק על ידי לחיצה ימנית על "המחשב שלי", בחירה ב Remote וסימון האפשרות הרצויה.

אחרי כן די להקליד במסוף rdesktop IP כאשר IP מייצג את כתובת המחשב המרוחק ברשת. הוספת הדגל f- תפתח את השולחן המרוחק על כל שולחן העבודה.

ולסיום הרי שני שולחנות עבודה מרוחקים הרצים על מסכי מחשבי הקט: הימני הוא מחשב לינוקס (גיבוי), והשמאלי הוא מחשב חלונות וירטואלי הרץ על מכונת לינוקס אחרת.

NX12.png

קריאה נוספת
NX Client Configuration
FreeNX Server HOWTO
Remote access using NX and OpenSuse 11.1

ידיעות נוספות
Kalyxo: בקרוב גרסאות חופשיות של שרת המסופים והלקוח של NoMachine ...
סקירה: מסוף לקוח רזה של HP עם Xfce
PXES Universal Linux Thin Client

* תמונות: sml, Linux Tip
** עריכה: אורי

אפשרויות לתצוגת תגובות

בחרו באפשרות התצוגה הרצויה, ולחצו על "שמור הגדרות".

כמובן שאפשר להשתמש ב-VNC גם כן

אני משתמש ב-VNC על מנת לגשת למחשבי לינוקס מרוחקים.
ולא משנה מאיזו מע' הפעלה רץ הלקוח - תמיד אפשר לגשת בממשק ה-וובי למחשב המרוחק.
עד כה הרצתי בהצלחה את ה-vncserver של tightvnc על Slackware ו-Centos.
למי שמעוניין בגישה מאובטחת יכול גם ליצור SSh tunneling למחשב המרוחק.

rdesktop - יש מספר ורסיות. אני ממליץ על krdc של KDE שהוא גם לקוח VNC.

הבעיה היא כמובן ...

הבעיה היא כמובן ביצועים.
כל הפתרונות הקיניינים נותנים ביצועים טובים יותר מאשר VNC, למרבה הצער. אלא אם כן אתה עושה דברים פשוטים, זה הופך להיות בלתי נסבל מהר מאוד.
אלי

האם NX הוא המהיר ...

האם NX הוא המהיר ביותר (לעומת VNC, RDESKTOP) ? אם לא, מי המהיר ביותר? אני מעונין ליצור תמיכה מרוחקת עם המחשב של הורי (יחסוך לי נסיעות לרמת גן...).

האם הוריך משתמשים בלינוקס?

או בסולריס?
אחרת תצטרך להשקיע כ 800$ כדי להתקין שרת NX על המכונה שלהם.

הגירסה החופשית ...

הגירסה החופשית של השרת (שיש בכל הפצות הלינוקס) לא כוללת את האופטימזציות של הביצועים בפרוטוקול שלהם? למיטב הבנתי זה VNC עם שיפורים שהם יצרו. מהניסיון שלי עם Remote Desktop במקינטוש, הוא הרבה יותר מהיר מקליינט VNC רגיל.

אז עדין לא הבנתי...

אז עדין לא הבנתי - מה עדיף לשים על המחשב של הורי (שמריץ לינוקס)? VNC או NX או RDESKTOP?

rdesktop

לא לעניין - הוא מיועד להפעלת חלונות.
בין השניים האחרים - אם אתה יודע לאבטח את VNC אז זה עניין של טעם.
NX מאוד פשוט להתקנה ושימוש.

אוקי תודה. אני א...

אוקי תודה.
אני אנסה את NX.

ssh

הכי מהיר להשתמש ב־shell . שיטת דחיסה יעילה למדי.

לשם שיפור הדחיסה מומלץ ללמוד לעבוד עם ההסטוריה ביעילות רבה יותר (כן: ! לא רק יוצר שגיאות)

צפריר

יש את gnome-rdp החבי...

יש את gnome-rdp החביב שהוא רק ממשק ל-rdesktop, אבל שומר לי את פרטי הלוגין (יש כמה משתמשים על המחשב המרוחק ואני מחליף ביניהם) ונותן אייקון נחמד. מומלץ!

אבל איך משנים את הרזולוציה?

ב-remote desktop של חלונות אני יכול לבחור באיזו רזולוציה יהיה המסך שלי. איך עושים את זה ב-vnc?

מהירות?

קודם כל אני חייב לציין שאם אני לא טועה יש ל NX גם אופציה לאפלקציה וובית.

דבר שני, אני כרגע משתמש ב vnc ו rdesktop. ההבדל במהירות הוא משמעותי מאוד, rdesktop הרבה יותר מהיר, האם הדבר גם ככה עם nx? כמה שאלו - אף אחד לא ענה.

X2Go

האם יצא לך להשתמש בתחליף זה? אני לא בטוח מה היתרונות/חסרונות בהשוואה. אולי הרישיון?

x2go is an open source terminal server project offering a comprehensive "server based computing" solution. Combining the advantages of existing systems it features ease of use, performance and scalability. x2go provides you with access to your desktop as an individual as well as a corporate user - from within your own network and via the internet. x2go is not limited to any particular hardware, it supports a variety of devices and architectures. x2go is open source and open minded. The project also offers you a command line client for you to implement your own client applications and ideas. Like any open source project we welcome your support.

http://www.x2go.org