VNC یا (Virtual Network Computing) یک سیستم اشتراک گرافیکی دسکتاپ است که به شما امکان می دهد از صفحه کلید و ماوس خود به صورت ریموت استفاده کنید. این یک گزینه اپن سورس برای پروتکل مایکروسافت (RDP) است. در این مقاله با ما همراه باشید تا شما عزیزان را با نحوه نصب و کانفیگ VNC در اوبونتو ۲۰٫۰۴ آشنا کنیم. ما همچنین به شما نحوه اتصال ایمن از طریق یک SSH tunnel به سرور VNC را نشان خواهیم داد.
سرورهای اوبونتو از خط فرمان مدیریت می شوند و به طور پیش فرض محیط دسکتاپ ندارند. اگر ورژن دسکتاپ اوبونتو را اجرا می کنید ، از این مرحله صرف نظر کنید. محیط های دسکتاپ مختلفی در مخازن اوبونتو موجود است. یکی از گزینه ها نصب Gnome است ، که محیط دسکتاپ پیش فرض در اوبونتو ۲۰٫۰۴ است. گزینه دیگر نصب Xfce است. این یک محیط دسکتاپ سریع ، پایدار و سبک وزن است ، که آن را برای استفاده در سرور ریموت ایده آل می کند. در این آموزش ، ما Xfce را نصب خواهیم کرد. دستورات زیر را به عنوان کاربر با امتیازات sudo وارد کنید:
sudo apt update
sudo apt install xfce4 xfce4-goodies
بسته به سیستم شما ، دانلود و نصب بسته های Xfce ممکن است کمی طول بکشد.
چندین سرور VNC مختلف مانند TightVNC ، TigerVNC و x11vnc در مخازن اوبونتو موجود است. هر سرور VNC از نظر سرعت و امنیت نقاط قوت و ضعف متفاوتی دارد. ما TigerVNC را نصب خواهیم کرد. این یک سرور VNC با کارایی بالا و فعال است. برای نصب بسته دستور زیر را تایپ کنید:
sudo apt install tigervnc-standalone-server
پس از نصب سرور VNC ، مرحله بعدی ایجاد تنظیمات اولیه کاربر و تنظیم رمز عبور است. با استفاده از دستور vncpasswd رمز عبور کاربر را تنظیم کنید. هنگام اجرای دستور زیر از sudo استفاده نکنید:
vncpasswd
از شما خواسته می شود که رمز عبور را وارد کرده و تأیید کنید و آن را به عنوان گذرواژه فقط برای مشاهده تنظیم کنید. در صورت انتخاب رمز عبور فقط برای مشاهده ، کاربر نمی تواند با نمونه VNC با ماوس و صفحه کلید ارتباط برقرار کند.
Password: Verify: Would you like to enter a view-only password (y/n)? n
فایل رمز عبور در دایرکتوری ~/.vnc ذخیره می شود ، که در صورت عدم وجود ایجاد می شود. در مرحله بعد ، ما باید TigerVNC را برای استفاده از Xfce کانفیگ کنیم. برای انجام این کار ، فایل زیر را ایجاد کنید:
nano ~/.vnc/xstartup
#!/bin/sh unset SESSION_MANAGER unset DBUS_SESSION_BUS_ADDRESS exec startxfce4
ذخیره کنید و فایل را ببندید. هر زمان که سرور TigerVNC را شروع یا مجدد راه اندازی کنید ، دستورات بالا بطور خودکار اجرا می شوند. فایل ~/.vnc/xstartup نیز باید دارای مجوزهای اجرایی باشد. از دستور chmod برای تنظیم مجوزهای فایل استفاده کنید:
chmod u+x ~/.vnc/xstartup
اگر می خواهید گزینه های اضافی را به سرور VNC منتقل کنید ، فایلی با نام config ایجاد کرده و در هر خط یک گزینه اضافه کنید. به عنوان مثال:
geometry=1920x1080 dpi=96
اکنون می توانید سرور VNC را با استفاده از دستور vncserver راه اندازی کنید:
vncserver
New 'server2.linuxize.com:1 (linuxize)' desktop at :1 on machine server2.linuxize.com Starting applications specified in /home/linuxize/.vnc/xstartup Log file is /home/linuxize/.vnc/server2.linuxize.com:1.log Use xtigervncviewer -SecurityTypes VncAuth -passwd /home/linuxize/.vnc/passwd :1 to connect to the VNC server.
vncserver -list
TigerVNC server sessions: X DISPLAY # RFB PORT # PROCESS ID :۱ ۵۹۰۱ ۵۷۱۰
قبل از ادامه مرحله بعدی ، نمونه VNC را با استفاده از دستور vncserver با گزینه -kill و شماره سرور به عنوان آرگومان متوقف کنید. در این مثال ، سرور در پورت ۵۹۰۱ (: ۱) اجرا می شود ، بنابراین ما آن را با موارد زیر متوقف می کنیم:
vncserver -kill :1
Killing Xtigervnc process ID 5710... success!
به جای شروع دستی VNC session ، بیایید یک فایل واحد systemd ایجاد کنیم تا سرویس VNC را در صورت نیاز ، شروع ، متوقف و دوباره راه اندازی کنید. ویرایشگر متن خود را باز کرده و کانفیگ زیر را در آن copy و paste کنید. اطمینان حاصل کنید که نام کاربری را در خط ۷ تغییر دهید تا با نام کاربری شما مطابقت داشته باشد:
sudo nano /etc/systemd/system/vncserver@.service
[Unit] Description=Remote desktop service (VNC) After=syslog.target network.target [Service] Type=simple User=linuxize PAMName=login PIDFile=/home/%u/.vnc/%H%i.pid ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill :%i > /dev/null 2>&1 || :' ExecStart=/usr/bin/vncserver :%i -geometry 1440x900 -alwaysshared -fg ExecStop=/usr/bin/vncserver -kill :%i [Install] WantedBy=multi-user.target
sudo systemctl daemon-reload
برای شروع سرویس ، سرویس را فعال کنید:
sudo systemctl enable vncserver@1.service
عدد ۱ بعد از علامت @ پورت صفحه نمایش را که سرویس VNC روی آن اجرا می شود ، مشخص می کند. این بدان معناست که سرور VNC همانطور که در قسمت قبل صحبت کردیم ، روی پورت ۵۹۰۱ فراخوانی می شود.
سرویس VNC را با اجرای دستور زیر شروع کنید:
sudo systemctl start vncserver@1.service
تایید کنید که سرویس با موفقیت شروع شده است:
sudo systemctl status vncserver@1.service
vncserver@1.service - Remote desktop service (VNC) Loaded: loaded (/etc/systemd/system/vncserver@.service; enabled; vendor preset: enabled) Active: active (running) since Fri 2021-03-26 20:00:59 UTC; 3s ago
VNC یک پروتکل رمزگذاری شده نیست. روش توصیه شده ایجاد یک تونل SSH و انتقال امن ترافیک از دستگاه local خود در پورت ۵۹۰۱ به سرور موجود در همان پورت است.
اگر سیستم عامل Linux ، macOS یا هر سیستم عامل دیگر مبتنی بر Unix را در دستگاه خود اجرا می کنید ، می توانید به راحتی یک تونل SSH با دستور زیر ایجاد کنید:
ssh -L 5901:127.0.0.1:5901 -N -f -l vagrant 192.168.33.10
از شما خواسته می شود که رمز عبور کاربر را وارد کنید. مطمئن شوید که username و server_ip_address را با نام کاربری و آدرس IP سرور خود جایگزین کرده اید.
اگر Windows را اجرا می کنید ، می توانید SSH Tunneling را با استفاده از سرویس گیرنده PuTTY SSH راه اندازی کنید. Putty را باز کرده و آدرس IP سرور خود را در قسمت نام میزبان یا آدرس IP وارد کنید.
در منوی Connection ، باکس SSH را باز کنید و Tunnel را انتخاب کنید. پورت سرور VNC (5901) را در قسمت Source Port وارد کرده و server_ip_address: 5901 را در قسمت Destination وارد کرده و مطابق تصویر زیر بر روی دکمه Add کلیک کنید:
برای ذخیره تنظیمات به صفحه Session برگردید ، بنابراین نیازی نیست هر بار آنها را وارد کنید. در سرور ریموت ، session ذخیره شده را انتخاب کرده و روی دکمه Open کلیک کنید.
اکنون که تونل SSH ایجاد شده است ، زمان آن فرا رسیده است که Vncviewer خود را باز کرده و به سرور VNC در localhost:5901 متصل شوید. می توانید از هر VNC Viewer مانند TigerVNC ، TightVNC ، RealVNC ، UltraVNC ، Vinagre و VNC Viewer برای Google Chrome استفاده کنید. ما از TigerVNC استفاده می کنیم. viewer را باز کنید ، localhost: 5901 را وارد کنید و روی دکمه Connect کلیک کنید:
در صورت درخواست رمز عبور کاربر خود را وارد کنید و باید دسکتاپ پیش فرض Xfce را مشاهده کنید. چیزی شبیه به تصویر زیر خواهد بود:
با استفاده از صفحه کلید و ماوس می توانید تعامل با دسکتاپ ریموت XFCE ، از طریق دستگاه local خود شروع کنید.
ما نحوه نصب و کانفیگ سرور VNC در حال اجرا را در اوبونتو ۲۰٫۰۴ به شما نشان دادیم. برای کانفیگ سرور VNC خود برای شروع نمایش بیش از یک کاربر ، کانفیگ اولیه را ایجاد کرده و با استفاده از دستور vncpasswd رمز عبور را تنظیم کنید. همچنین باید با استفاده از یک پورت دیگر ، یک فایل سرویس جدید ایجاد کنید.
امیدواریم مطالب مورد پسند بوده و از آن بهره لازم را برده باشید. خوشحال میشویم نظرات و سوالات خود را در قسمت دیدگاه به اشتراک بگذارید و ما را در شتابان هاست همراهی کنید.😊