Вопрос или проблема
Контекст: У меня есть личный ноутбук и рабочий ноутбук (оба на Linux), но я устал от того, что приходится подключать кабели каждый раз, когда я собираюсь использовать один из них. Поэтому я хочу обеспечить доступ к LAN на своем рабочем ноутбуке, то есть поделиться им со своим личным. Кстати, я программист, поэтому я буду только кодировать, компилировать, слушать музыку, проводить совещания и управлять окнами, и просто хочу комфортного опыта. Я не собираюсь использовать очень тяжелое программное обеспечение, например, Blender.
Поскольку я собираюсь использовать это в коммерческих целях, я не могу использовать Teamviewer, NoMachine, Parsec или что-то подобное.
Я ознакомился с текущими альтернативами, протестировал несколько и хотел бы узнать ваше мнение или рекомендации (потому что не хочу слишком долго размышлять или тестировать что-то ещё):
-
Удалённый рабочий стол Gnome выглядит вполне нормально. Один из моих коллег его использует, но в моем случае я использую KDE, поэтому мне нужно будет выяснить, как установить его для других DE или использовать что-то другое.
-
KRDC очень тормозит, так что нет, спасибо.
-
Удалённый рабочий стол Chrome работает довольно хорошо, судя по моим тестам.
-
Я читал о XRDP, TigerVNC и Apache Guacamole. Они могут работать, но я ещё не тестировал их.
-
Moonlight выглядит классно, но поскольку у меня видеокарта AMD и Intel Graphics, мне, похоже, придётся использовать Sunshine, поэтому я постараюсь исправить это позже.
-
OpenNX, X2Go и FreeRDP также выглядят как альтернативы, но я ещё не читал, о чём они.
Таким образом, самым важным фактором здесь является то, используете ли вы KDE через KWin (X11) или KWayland (Wayland).
Для X11 (KWin):
У вас есть несколько различных вариантов:
- TigerVNC – Если вы хотите, чтобы все окна на удалённой машине отображались как одно окно на локальной машине, использование TigerVNC – это очевидный выбор.
- SSH Tunnel – Если вы собираетесь настроить это так, чтобы каждое окно на удалённой машине отображалось как отдельное окно на локальной машине, вы можете просто перенаправить X11 через SSH, как объяснено здесь.
- ПРИМЕЧАНИЕ: Это будет работать для графики, но если вы хотите перенаправить звук, вам нужно будет использовать модуль Pulse-tunnel от PipeWire и модуль zeroconf-discover от PipeWire.
Для Wayland (KWayland):
VNC – VNC в настоящее время не работает родным образом с KWayland. Вы можете запустить его поверх XWayland, но чтобы запустить его родным образом, вам придётся сменить композитор. Как вы отметили, если бы вы использовали Gnome, вы могли бы использовать gnome-remote-desktop, или если бы вы использовали композитор на основе wlroots, такой как Sway, Hyprland, qtile или несколько других, перечисленных здесь, вы могли бы использовать wayvnc.
- SSH Tunnel – Вы можете выбрать этот путь, как и с X11, используя Waypipe, как описано здесь для графических интерфейсов, а затем использовать тот же метод, который я упоминал ранее, чтобы туннелировать PipeWire через виртуальный PulseAudio Sink.
Если вы используете KWayland, я настоятельно рекомендую просто зайти в настройки KDE и переключить менеджер окон на KWin, чтобы избежать множества трудностей. Я лично использовал Wayland только на двух композиторах на основе wlroots: Hyprland или Sway. Я не знаю, получите ли вы какую-то значимую выгоду от работы KDE под Wayland; но, с другой стороны, я никогда не использую KDE или Gnome.
Ответ или решение
Обзор вариантов удалённого рабочего стола для работы через локальную сеть
Введение
Современные условия работы часто требуют гибкости и мобильности. Ваша ситуация, в которой вы хотите получить доступ к рабочему ноутбуку из личного, не является уникальной, и многие специалисты находят решение в использовании удалённых рабочих столов. В данном руководстве мы подробно рассмотрим различные решения для удаленного доступа между двумя компьютерами на Linux с учётом ваших требований и текущих обстоятельств.
1. Понимание окружения рабочего стола
Прежде чем рассмотреть конкретные решения, важно идентифицировать, используете ли вы KWin под X11 или KWayland. Ваш выбор значительно повлияет на доступные опции.
Для X11 (KWin):
Если ваш рабочий стол работает под X11, наиболее актуальными решениями будут:
TigerVNC: Это один из самых простых и эффективных инструментов для настройки удалённого доступа. Он позволяет графическому интерфейсу на удалённом компьютере отображаться в одном окне на вашем локальном устройстве. Это идеальный вариант для задач, связанных с программированием, компиляцией и проведением встреч.
SSH Tunnel: Если вам необходимо, чтобы каждое окно приложения на удалённом компьютере отображалось отдельно, можно использовать X11 для пересылки через SSH. Данное решение также позволит решить задачи с передачей звука с использованием модуля PipeWire, если это потребуется.
Для Wayland (KWayland):
К сожалению, на данный момент технологии VNC не работают нативно с KWayland. Тем не менее, вы можете рассмотреть использование Waypipe для задания графического интерфейса и SSH-туннелирования, а также универсальные модули для передачи звука.
Если вы не привязаны к использованию Wayland, рекомендую рассмотреть возможность перехода на KWin. Это упростит настройку и использование различных инструментов для удалённого рабочего стола.
2. Рассматриваемые решения
Теперь давайте взглянем на ваши предложенные решения и оценим их эффективность:
-
Gnome’s Desktop Sharing: Этот инструмент эффективен, но так как вы используете KDE, его настройка может быть усложнена. Рассмотрите возможность использования VNC в сочетании с другими средствами.
-
KRDC: Если эта опция работает медленно, вам лучше от неё отказаться.
-
Chrome Remote Desktop: Работает довольно стабильно и может быть хорошим вариантом, если вам нужно быстрое решение, но его использование может вызвать опасения с точки зрения лицензии для коммерческих целей.
-
XRDP, TigerVNC и Apache Guacamole: Эти инструменты стоит протестировать, так как они предоставляют гибкие решения для удалённого доступа. В особенности TigerVNC обеспечит нужный уровень производительности.
-
Moonlight и Sunshine: Это хороший выбор для использования с графическими процессорами, но может потребовать дополнительных усилий для настройки.
-
OpenNX, X2Go, FreeRDP: Необходимо более детальное изучение, поскольку эти инструменты могут значительно варьироваться по функциональности. X2Go, в частности, часто используется для быстрой работы на удаленных серверах.
3. Рекомендации
Рекомендуемое решение зависит от вашего окружения. Если вы используете X11:
- Настройте TigerVNC для простоты и удобства работы с графическим интерфейсом.
- Используйте SSH Tunnel для задач, требующих большей гибкости с окнами и звуковым сопровождением.
Если сталкиваетесь с KWayland и чувствуете, что это вызывает проблемы, подумайте о возвращении к KWin для упрощения процесса.
Заключение
Выбор правильного инструмента для удалённого доступа может существенно повлиять на вашу производительность. Учитывайте предложенные рекомендации и протестируйте несколько решений, чтобы найти то, которое будет наиболее соответствовать вашим целям. Вы будете удивлены тем, как правильная настройка коммуникационных инструментов может облегчить вашу работу, повысив эффективность и обеспечив комфортные условия для программирования и удалённых встреч.