Remote-Viewer(1) Virtualization Support Remote-Viewer(1)

remote-viewer - یک کلاینت ساده میزکار از راه دور

remote-viewer [OPTIONS] -- [URI]

دستور remote-viewer یک کلاینت ساده نمایشگر از راه دور است. پروتکل‌های پشتیبانی‌شده SPICE و VNC هستند.

اجرای remote-viewer بدون URI، یک کادر گفتگوی ساده را همراه با یک ورودی و فهرستی از URIهایی که پیش‌تر با موفقیت باز شده‌اند، نمایش می‌دهد.

همچنین URI می‌تواند به یک فایل تنظیمات اتصال اشاره کند؛ برای شرح قالب، بخش CONNECTION FILE را ببینید.

اگر مقدار URI برابر با «-» باشد، remote-viewer ورودی استاندارد را به عنوان یک فایل تنظیمات اتصال خوانده و تلاش می‌کند با استفاده از آن متصل شود.

در برخی شرایط ممکن است نمایشگر نیاز به در اختیار گرفتن اشاره‌گر ماوس داشته باشد. دنباله کلید پیش‌فرض برای رهاسازی اشاره‌گر "Ctrl_L"+"Alt_L" است، هرچند می‌توان آن را با استفاده از آرگومان "--hotkeys" که در ادامه شرح داده شده تغییر داد.

گزینه‌های زیر هنگام اجرای "remote-viewer" پذیرفته می‌شوند:

نمایش خلاصه راهنمای خط فرمان
نمایش شماره نسخه برنامه
نمایش اطلاعات دقیق درباره اتصال
سطح بزرگ‌نمایی پنجره نمایش به درصد. بازه 10-400.
شروع برنامه به صورت تمام‌صفحه.

در صورت پشتیبانی، نمایشگر دوردست از طریق فعال یا غیرفعال کردن مانیتورهای اضافی بر حسب نیاز، دوباره پیکربندی می‌شود تا با پیکربندی مانیتور فیزیکی کلاینت مطابقت یابد. این قابلیت در حال حاضر تنها توسط بک‌اند Spice پیاده‌سازی شده است و می‌تواند با آرگومان "--auto-resize" غیرفعال شود.

برای تعیین اینکه کدام مانیتورهای کلاینت در حالت تمام‌صفحه استفاده شوند، بخش CONFIGURATION در زیر را ببینید.

کنترل می‌کند که آیا تلاش برای تغییر اندازه فریم‌بافر (framebuffer) دوردست جهت مطابقت با اندازه پنجره محلی مجاز است یا خیر. این گزینه در حال حاضر به‌طور پیش‌فرض فعال است، اما توجه داشته باشید که همه سرورها از آن پشتیبانی نمی‌کنند.
تنظیم عنوان پنجره به TITLE
اجازه دادن به نشست اشتراکی با چندین کلاینت
کنترل نحوه رندر شدن مکان‌نمای ماوس. مقدار "auto" رفتار پیش‌فرض است که رفتار درخواستی سرور دوردست را رعایت می‌کند. این ممکن است شامل رندر مکان‌نما در فریم‌بافر توسط سرور یا ارسال جزئیات مکان‌نما به کلاینت برای رندر باشد. مقدار "local" این پیش‌فرض را لغو کرده و درخواست می‌کند که مکان‌نمای میزکار محلی فارغ از درخواست سرور، همواره رندر شود. مورد دوم به ندرت مورد نیاز است، اما اگر سرور پیکربندی نادرستی داشته باشد که منجر به پنهان شدن مکان‌نمای خودش شود، می‌تواند به کار رود.
چاپ اطلاعات اشکال‌زدایی (دیباگ)
تنظیم کلیدهای میانبر سراسری. به‌طور پیش‌فرض، میانبرهای صفحه‌کلید تنها زمانی کار می‌کنند که ویجت نمایشگر مهمان فوکوس نداشته باشد. هر عملیاتی که در HOTKEYS مشخص شود، حتی زمانی که ویجت نمایشگر مهمان دارای فوکوس ورودی باشد نیز اعمال خواهد شد. قالب برای HOTKEYS به صورت <action1>=<key1>[+<key2>][,<action2>=<key3>[+<key4>]] است. نام کلیدها به حروف بزرگ و کوچک حساس نیست. عمل‌های معتبر عبارتند از: toggle-fullscreen،‏ release-cursor،‏ zoom-in،‏ zoom-out،‏ zoom-reset،‏ secure-attention،‏ usb-device-reset،‏ smartcard-insert و smartcard-remove. عمل "secure-attention" یک دنباله توجه امنیتی (Ctrl+Alt+Del) را به سیستم مهمان ارسال می‌کند. مثال‌ها:
--hotkeys=toggle-fullscreen=shift+f11,release-cursor=shift+f12
--hotkeys=release-cursor=ctrl+alt

توجه داشته باشید میانبرهایی که هیچ اتصالی برای آن‌ها تعیین نشده غیرفعال هستند. اگرچه میانبرهای مشخص‌شده در اینجا توسط کلاینت مدیریت می‌شوند، اما همچنان ارسال این کلیدهای ترکیبی به سیستم مهمان از طریق یک آیتم منو ممکن است.

نگاشت مجدد و/یا مسدود کردن فشرده‌شدن کلیدهای ارائه‌شده به میزبان. تمامی شناسه‌های کلید به حروف بزرگ و کوچک حساس هستند و از قواعد نام‌گذاری تعریف‌شده در gdkkeysyms.h بدون پیشوند GDK_KEY_ پیروی می‌کنند.

اجرای برنامه همراه با --debug، نمادهای فشرده‌شدن کلید را به روش زیر نمایش می‌دهد:
"Key pressed was keycode='0x63', gdk_keyname='c'"
"Key pressed was keycode='0xffeb', gdk_keyname='Super_L'"

قالب ارائه یک نگاشت کلید عبارت است از: <srcKeySym1>=[<destKeySym1>][+<destKeySym2][,<srckeySym2>=[<destKeySym1]

برای مسدود کردن فشردن یک کلید، کافی است یک پارامتر خالی به srcKeySym اختصاص دهید.

مثال:
--keymap=Super_L=,Alt_L=,1=Shift_L+F1,2=Shift_L+F2

این کار فشردن کلیدهای Super_L (معمولاً کلید Windows) و ALT_L را مسدود کرده و کلید 1 را به Shift F1 و کلید 2 را به Shift F2 نگاشت مجدد می‌کند.

شروع در حالت کیوسک (kiosk). در این حالت، برنامه به‌صورت تمام‌صفحه با کمترین رابط کاربری ممکن آغاز می‌شود. این حالت مانع از خروج کاربر یا انجام هرگونه تعاملی خارج از محدوده استفاده از نشست میزکار از راه دور خواهد شد.

توجه داشته باشید که این گزینه به تنهایی نمی‌تواند یک راهکار امنیتی کامل ارائه دهد. سیستم کیوسک شما برای قفل کردن سیستم‌عامل باید پیکربندی‌ها و تنظیمات امنیتی اضافی داشته باشد. به‌ویژه، باید مدیر پنجره را پیکربندی یا غیرفعال کنید، قابلیت‌های نشست را محدود سازید، از سازوکارهای راه‌اندازی مجدد/دیده‌بان (watchdog) بهره بگیرید، امکان تعویض ترمینال مجازی (VT switching) را غیرفعال کنید و غیره.

به‌طور پیش‌فرض زمانی که حالت کیوسک فعال است، با قطع ارتباط با سرور دوردست، virt-viewer باز خواهد ماند. با تنظیم گزینه kiosk-quit روی مقدار "on-disconnect"، برنامه virt-viewer در صورت قطعی خارج خواهد شد..SH "کلید میانبر (HOTKEY)" یک ترکیب کلید با مجموعه‌ای از رشته‌های کلید که با «+» از هم جدا شده‌اند توصیف می‌شود؛ این کلیدها باید هم‌زمان فشرده شوند تا عمل مربوطه فعال گردد.

این ترکیب باید از کلیدهای تغییردهنده (shift، ctrl یا alt) و یک کلید غیرتغییردهنده تشکیل شده باشد. برای مثال، "shift+f11".

فایل اتصال remote-viewer در قالب فایل INI است، با گروه اجباری [virt-viewer] و کلید "type".

باز کردن فایلی با محتوای زیر، remote-viewer را در حالت تمام‌صفحه اجرا کرده و با استفاده از پروتکل SPICE به میزبان "betsiboka" متصل می‌شود:

[virt-viewer]
type=spice
host=betsiboka
port=5900
fullscreen=1

"version" (رشته)
اگر شماره نسخه remote-viewer بزرگ‌تر یا مساوی نسخه مورد نیاز نباشد، خطایی به همراه نسخه مورد انتظار صادر می‌شود.

قالب نسخه پذیرفته‌شده، فهرستی از اعداد صحیح است که با «.» از هم جدا شده‌اند. این مقدار می‌تواند با یک خط تیره «-» و یک شماره ساخت (build number) اضافی با همان قالب دنبال شود.

مقایسه نسخه با بررسی تک‌تک اعداد صحیح موجود در فهرست انجام می‌پذیرد. اگر هر یک از مؤلفه‌ها عدد نباشد، مقایسه نسخه ناموفق بوده و هر دو نسخه یکسان در نظر گرفته می‌شوند.

"versions" (فهرست osid:version)
این گزاره، فهرستی از جفت‌های osid:version است که با «;» از هم جدا شده‌اند. osid یک رشته دلخواه و version یک شماره نسخه با همان قالب فیلد 'version' است. یک جفت مشخص نشان می‌دهد که ساخت‌های remote-viewer منطبق با 'osid' داده‌شده (مانند fedora22، debian7 و...) باید دست‌کم دارای نسخه 'version' باشند. برای حفظ یکپارچگی، توصیه می‌شود از شناسه‌های کوتاه سیستم‌عامل در libosinfo (OS shortids) به عنوان osid استفاده شود.
"newer-version-url" (رشته)
در صورت تعیین، این فیلد نشانی وب (URL) خواهد بود که هنگام ناموفق بودن بررسی نسخه به کاربر نمایش داده می‌شود.
"type" (رشته، اجباری)
نوع نشست؛ یکی از مقادیر "spice"، "vnc" یا "ovirt".
"unix-path" (رشته)
سرور مقصد برای اتصال، با استفاده از مسیر سوکت Unix. (پشتیبانی‌شده در spice، از نسخه 8.0 به بعد)

این گزینه با "host"، "port" و "tls-port" ناسازگار است.

"host" (رشته)
میزبان سرور برای اتصال.
"port" (عدد صحیح)
درگاه سرور برای اتصال.
"tls-port" (عدد صحیح)
درگاه TLS/SSL سرور برای اتصال.
"username" (رشته)
نام کاربری برای احراز هویت نشست.
"password" (رشته)
گذرواژه برای احراز هویت نشست.
"disable-channels" (فهرست رشته)
فهرست کانال‌های نشست برای غیرفعال‌سازی.

کانال‌های فعلی SPICE عبارتند از: main، display، inputs، cursor، playback، record، smartcard، usbredir.

"tls-ciphers" (رشته)
تنظیم فهرست رمزها برای استفاده در اتصال امن، در قالب متنی فهرست رمزهای OpenSSL (نگاه کنید به ciphers(1)).
"title" (رشته)
رشته‌ای که در عنوان پنجره نمایش داده می‌شود.
"fullscreen" (بولی)
پنجره‌های کلاینت را در حالت تمام‌صفحه باز می‌کند.
"ca" (رشته)
گواهی CA در قالب PEM (با استفاده از "\n" برای جداسازی خطوط). این گواهی برای اعتبارسنجی گواهی SSL استفاده‌شده در نشست‌های SPICE TLS به کار می‌رود.
"host-subject" (رشته)
بررسی می‌کند که موضوع (subject) گواهی با موضوع داده‌شده مطابقت داشته باشد.
"toggle-fullscreen" (رشته کلید میانبر)
ترکیب کلید برای ورود به حالت تمام‌صفحه و خروج از آن (برای شرح رشته مورد انتظار، HOTKEY را ببینید).
"release-cursor" (رشته کلید میانبر)
ترکیب کلید برای آزادسازی تسخیر مکان‌نما (برای شرح رشته مورد انتظار، HOTKEY را ببینید).
"zoom-in" (رشته کلید میانبر)
ترکیب کلید برای بزرگ‌نمایی و افزایش اندازه پنجره کلاینت (برای شرح رشته مورد انتظار، HOTKEY را ببینید).
"zoom-out" (رشته کلید میانبر)
ترکیب کلید برای کوچک‌نمایی و کاهش اندازه پنجره کلاینت (برای شرح رشته مورد انتظار، HOTKEY را ببینید).
"zoom-reset" (رشته کلید میانبر)
ترکیب کلید برای بازنشانی بزرگ‌نمایی و اندازه پنجره کلاینت (برای شرح رشته مورد انتظار، HOTKEY را ببینید).
"smartcard-insert" (رشته کلید میانبر)
ترکیب کلید برای درج کارت هوشمند شبیه‌سازی‌شده (برای شرح رشته مورد انتظار، HOTKEY را ببینید).
"smartcard-remove" (رشته کلید میانبر)
ترکیب کلید برای خارج کردن کارت هوشمند شبیه‌سازی‌شده (برای شرح رشته مورد انتظار، HOTKEY را ببینید).
"color-depth" (عدد صحیح)
تنظیم عمق رنگ نمایشگر مهمان (16 یا 32).
"disable-effects" (فهرست رشته)
فهرستی از جلوه‌های میزکار برای غیرفعال‌سازی در مهمان دوردست.

جلوه‌هایی که می‌توان با SPICE غیرفعال کرد عبارتند از: wallpaper، font-smooth، animation یا all.

"enable-smartcard" (بولی)
برای فعال‌سازی بازهدایت کارت هوشمند کلاینت، روی 1 تنظیم کنید.
"enable-usbredir" (بولی)
برای فعال‌سازی بازهدایت دستگاه USB کلاینت، روی 1 تنظیم کنید.
"enable-usb-autoshare" (بولی)
برای فعال‌سازی اشتراک‌گذاری خودکار دستگاه‌های USB کلاینت، روی 1 تنظیم کنید.
"usb-filter" (رشته)
تنظیم رشته‌ای مشخص‌کننده یک فیلتر برای تعیین این‌که کدام دستگاه‌های USB هنگام اتصال، به طور خودکار وصل شوند؛ یک فیلتر شامل یک یا چند قاعده است، که هر قاعده قالبی به این صورت دارد:

"class,vendor,product,version,allow"

برای پذیرش هر مقداری، از -1 برای class/vendor/product/version استفاده کنید.

و خود قواعد به این صورت به هم متصل می‌شوند:

"rule1|rule2|rule3"

"secure-channels" (فهرست رشته)
فهرست کانال‌های نشست برای امن‌سازی.

کانال‌های فعلی SPICE عبارتند از: main، display، inputs، cursor، playback، record، smartcard، usbredir.

"delete-this-file" (بولی)
روی 1 تنظیم شود تا کلاینت این فایل اتصال را حذف کند (در صورتی که نتواند، بدون هشدار با شکست مواجه می‌شود).
"proxy" (رشته)
یک نشانی اینترنتی پیشکار (پروکسی) برای تونل کردن اتصال از طریق آن.

در زمان نگارش این مستندات، تنها روش پروکسی پشتیبانی‌شده در Spice، پروتکل HTTP CONNECT است.

برای مثال، جهت تونل کردن اتصال از طریق پروکسی HTTP میزبان foobar روی درگاه 8080، از مقدار "http://foobar:8080" استفاده کنید..SS "پشتیبانی از oVirt (oVirt Support)" در صورتی که پشتیبانی از oVirt کامپایل شده باشد، فایل اتصال می‌تواند شامل برخی گزینه‌های مختص oVirt نیز باشد. این گزینه‌ها برای تعامل با oVirt REST API استفاده می‌شوند. در حال حاضر، این قابلیت تنها برای نمایش منویی استفاده می‌شود که اجازه می‌دهد تصویر CD در حال استفاده توسط ماشین مجازی از طریق رابط کاربری remote-viewer تغییر کند. این گزینه‌ها در یک گروه اختیاری [ovirt] قرار می‌گیرند.

"host" (رشته، اجباری)
نمونهٔ oVirt برای اتصال به آن. این مقدار با نام میزبانی که برای دسترسی به پورتال کاربری یا مدیریتی oVirt به آن متصل می‌شوید، مطابقت دارد.
"vm-guid" (رشته، اجباری)
شناسهٔ GUID مربوط به ماشین مجازی oVirt برای اتصال به آن.
"jsessionid" (رشته)
مقداری که باید برای کوکی 'jsessionid' تنظیم شود. در oVirt 3.6، تنظیم این کوکی احراز هویت روی یک مقدار معتبر، امکان تعامل با oVirt REST API را بدون نیاز به ورود اعتبارنامه فراهم می‌سازد.
"sso-token" (رشته)
مقداری که باید برای سرآیند 'Authorization' تنظیم شود. در oVirt 4.0 یا جدیدتر، تنظیم این سرآیند احراز هویت روی یک مقدار معتبر، امکان تعامل با oVirt REST API را بدون درخواست اعتبارنامه فراهم می‌کند.
"ca" (رشته)
گواهی CA در قالب PEM (با استفاده از "\n" برای جداسازی خطوط). این گواهی برای اعتبارسنجی گواهی مورد استفاده در نشست HTTPS مربوط به oVirt REST که توسط remote-viewer برقرار می‌شود، به کار خواهد رفت.

تعداد محدودی از گزینه‌های پیکربندی را می‌توان با ویرایش فایل تنظیمات واقع در دایرکتوری پیکربندی کاربر کنترل کرد:

<USER-CONFIG-DIR>/virt-viewer/settings

این فایل یک فایل متنی در قالب INI است که گزینه‌های برنامه در آن در گروه [virt-viewer] و گزینه‌های به ازای هر مهمان در گروهی با شناسهٔ UUID مهمان قرار دارند. گزینه‌های برنامه نباید به صورت دستی ویرایش شوند. همچنین یک گروه ویژه به نام [fallback] وجود دارد که گزینه‌ها را برای تمام مهمان‌هایی که فاقد گروه صریح هستند، مشخص می‌کند.

برای هر مهمان، پیکربندی اولیهٔ مانیتور تمام‌صفحه را می‌توان با استفاده از کلید monitor-mapping تعیین کرد. این پیکربندی تنها زمانی اعمال می‌شود که گزینهٔ -f/--full-screen مشخص شده باشد.

مقدار این کلید فهرستی از نگاشت‌ها بین نمایشگر مهمان و مانیتور کلاینت است. هر نگاشت با یک نویسهٔ نقطه‌ویرگول (semicolon) جدا می‌شود و نگاشت‌ها دارای قالب <GUEST-DISPLAY-ID>:<CLIENT-MONITOR-ID> هستند.

برای نمونه، جهت نگاشت نمایشگرهای ۱ و ۲ مهمان به مانیتورهای ۲ و ۳ کلاینت برای مهمانی با UUID برابر با e4591275-d9d3-4a44-a18b-ef2fbc8ac3e2، از این الگو استفاده کنید:

[e4591275-d9d3-4a44-a18b-ef2fbc8ac3e2]
monitor-mapping=1:2;2:3

مقدار monitor-mapping باید شامل شناسه‌های تمام نمایشگرها از ۱ تا آخرین شناسهٔ نمایشگر مورد نظر باشد؛ برای مثال، «monitor-mapping=3:3» نامعتبر است زیرا نگاشت‌های نمایشگرهای ۱ و ۲ مشخص نشده‌اند.

کلید پیکربندی share-clipboard شامل یک مقدار بولی است. اگر مقدار آن «true» باشد، در صورتی که اشتراک‌گذاری کلیپ‌بورد توسط پروتکل استفاده‌شده پشتیبانی شود، کلیپ‌بورد با مهمان‌ها به اشتراک گذاشته می‌شود.

برای اتصال به سرور SPICE روی میزبان «makai» با پورت 5900

remote-viewer spice://makai:5900

برای اتصال به سرور VNC روی میزبان «tsingy» با پورت 5900

remote-viewer vnc://tsingy:5900

برای اتصال به یک ماشین مجازی به نام «toliara» روی سرور oVirt در example.org

remote-viewer ovirt://[username@]example.org/toliara

گزارش باگ‌ها را به https://gitlab.com/virt-viewer/virt-viewer/-/issues ارسال کنید.

حق نشر (C) 2012-2020 متعلق به Red Hat, Inc. و مشارکت‌کنندگان گوناگون است. این یک نرم‌افزار آزاد است؛ شما می‌توانید نسخه‌های آن را تحت شرایط مجوز عمومی همگانی گنو "https://www.gnu.org/licenses/gpl-2.0.html" بازتوزیع کنید. تا حد مجاز طبق قانون، هیچ ضمانتی وجود ندارد.

"virt-viewer(1)"، "spice-client(1)"، وبگاه پروژه "http://gitlab.com/virt-viewer/virt-viewer"

2025-04-24 Virt-Viewer 11.0