CentOS - разница между ssh -X и startx и запуском графического интерфейса

39988
Tony Stark

Я пытаюсь запустить мой графический интерфейс на своей машине с CentOS, но, честно говоря, я не знаю команд linux, и у Google не было четкого ответа.

Я предполагаю, что ssh -X и startx одинаковы, но, возможно, нет; SSH-X запускается нормально. однако startx выдает огромную ошибку. Разве они не одинаковы?

Кроме того, какова команда для запуска gnome в CentOS / или других серверах Linux / Unix? Что насчет kde? Я попробовал startkde, и он запускается, но я не могу открыть папки или что-то еще (рабочий стол в основном не работает)

редактировать: ясно, я просто понятия не имею, что я делаю. Я сделал много поиска в Google, так что, может быть, это ясно покажет мои проблемы, если я скажу, что я знаю / я пытаюсь:

  1. ssh -X должен использоваться для запуска 1-2 программ, и я понятия не имею, как он работает (он не запускает x-сервер локально, не так ли? тогда в чем разница между startx и ssh -X?).

  2. startx должен использоваться для запуска графического интерфейса, и он работает, запуская xserver на моей локальной машине.

  3. startx должен использоваться на уровне запуска 3. Будет ли startx генерировать ошибки при попытке запуска на уровне запуска 5? вот почему я не могу использовать startx, так как в настоящее время я нахожусь на уровне выполнения 5.

  4. если я на пятом уровне запуска, я должен использовать xdm, за которым следует kdm / gdm (кстати, xdm и gdm ничего не делают на моем CentOS 5.3, и kdm говорит что-то о том, что только root хотел бы использовать kdm. Мой сервер сейчас хотя на уровне выполнения 5 и gnome-session, и startkde вызывают соответствующие рабочие столы, поэтому эти команды тоже работают.

правильно ли это понимание и эти шаги?

7

3 ответа на вопрос

11
Mr. Shiny and New 安宇

ssh -Xэто не то же самое, что startx. SSH - это программа, используемая для подключения к другому компьютеру с помощью оболочки. X - программа графического отображения.

SSH можно использовать в качестве интерактивной командной оболочки, а также для переадресации портов. ssh -Xперенаправляет порт локального X-дисплея на удаленный компьютер и обычно настраивает удаленную среду, чтобы при удаленном запуске графической программы она отображалась локально. Обычно таким способом вы не запускаете весь рабочий стол, такой как KDE; вы просто запустите одну или две программы.

startxэто команда, используемая для локального запуска X-сервера, когда вы вошли в консоль сервера, то есть на физическую клавиатуру и экран. Большинство людей избегают использовать startx, потому что это может быть угрозой безопасности, если вы оставите свой компьютер без присмотра. При запуске X создается вторая виртуальная консоль (первой была текстовая консоль, в которую вы вошли), и кто-то может переключиться обратно на текстовую консоль (CTRL-ALT-F1 или что-то подобное) и нажать CTRL-C, чтобы убить вашу консоль X, и затем они вошли как вы в вашей текстовой консоли. Но если вы не оставляете компьютер без присмотра, то может быть целесообразно использовать его иногда.

Обычный способ запустить полноценный графический рабочий стол в системе - использовать менеджер входа в систему, такой как XDM (или GDM / KDM для Gnome / KDE). В RedHat и его друзьях это обычно достигается переключением на уровень выполнения 5. В командной строке вы можете ввести telinit 5временное переключение или отредактировать, /etc/inittabчтобы установить уровень запуска по умолчанию (типичные варианты: 3 - нет X - и 5 - с X).

Что касается запуска GNOME и KDE, по умолчанию при запуске startxCentOS должен запускаться один из них (возможно, GNOME). Существуют файлы конфигурации, которые вы можете изменить, чтобы переопределить настройки по умолчанию.

Если вы хотите получить удаленный доступ к полной среде рабочего стола, вам нужно настроить XDM для удаленного доступа или использовать VNC или другой протокол удаленного рабочего стола. Для полного рабочего стола я бы порекомендовал что-то вроде VNC, потому что таким образом ваша сессия остается открытой, когда вы отключены. Но вы должны учитывать, что типичный X или VNC по сети не шифруется, и вы можете настроить туннель переадресации ssh-портов для шифрования данных. Если вы просто запустите одно или два приложения, ssh -Xто оно уже будет зашифровано.

Какой тип клиентского компьютера вы используете для подключения к этому серверу? И ssh -XXDM, и XDM требуют локального дисплея X, а что-то вроде VNC - нет.

Редактировать: Если у вас есть X-сервер на вашем локальном компьютере, вы можете использовать ssh -X для подключения к компьютеру CentOS и запустить программу, такую ​​как firefox, которая будет отображаться в macbook. Эта ссылка содержит информацию об использовании X в MacOS X. По умолчанию X-сервер Apple отображает каждое приложение в своем собственном окне, которое идеально подходит для запуска нескольких приложений, использующихssh -Xметод. Однако, если вы хотите запустить полностью полноэкранную графическую среду, вам необходимо подключить локальный X-сервер к XDM CentOS; Затем вы увидите (на своем MacBook) экран, похожий на тот, который вы увидели бы, если бы вы вошли в локальную консоль CentOS. Это в основном использует ваш Macbook как тупой терминал: только дисплей, клавиатура и мышь используются локально. Программы выполняются на машине CentOS. К сожалению, я не могу помочь вам настроить тупой терминал, так как прошло около 10 лет с тех пор, как я это делал в последний раз.

Если у вас нет X-сервера на локальном компьютере, вы можете настроить что-то вроде VNC ( подробнее о продуктах для удаленного рабочего стола см. Здесь ), чтобы сеанс X работал на сервере, на его физическом дисплее, но мог получить удаленный доступ с компьютера с помощью соответствующего клиента удаленного рабочего стола. Например, в KDE есть приложение для общего доступа к рабочему столу, которое предоставляет запущенный сеанс KDE через VNC. Вы можете войти на сервер CentOS (через XDM или text-console + startx), запустить общий доступ к рабочему столу, а затем подключиться к нему с помощью клиента VNC на Macbook.

Я использую MacBook для подключения к серверу. Для пояснения: ssh -X предназначен для пересылки x пакетов, используется только для открытия 1-2 программ и использует x на локальном (клиентском) компьютере. Боюсь, я не совсем понял, почему startx отличается от ssh -X на техническом уровне; В чем разница между локальным запуском сервера x и переадресацией портов для локального открытия программ в x? ... что я не использую сервер в последнем ..? И в заключение, если я хочу, чтобы этот графический интерфейс работал, мне нужно исследовать XDM / GDM / KDM (перейти на уровень 5) или VNC? Tony Stark 14 лет назад 0
@Мистер. Блестящий и новый: хм, после поиска в Google, разница в том, что в ssh -X вы подключаетесь к серверу x на удаленном компьютере, тогда как с помощью ssh и startx я создаю сервер ax на моей локальной машине? Tony Stark 14 лет назад 0
@hatorade: для X-программ (технически называемых клиентами), таких как firefox, требуется дисплей, который технически называется сервером. startx запускает сервер или отображает локально на физической видеокарте. ssh -X сообщает удаленному компьютеру, что у вас есть дисплей в локальной системе, и указывает программам, запущенным удаленно, использовать его. У вас всегда есть X-сервер, если вы отображаете программу X-клиента. Mr. Shiny and New 安宇 14 лет назад 0
@Мистер. блестящий и новый: да, как я объяснил пару комментариев вниз, я не думаю, что я соединяю свой x11 с XDM; похоже, что обработка Mac окон x11 по отдельности убивает весь графический рабочий стол (например, использование gnome-panel прекрасно работает по сравнению с gnome-session, потому что я просто получаю панель верхних программ и любое открываемое мной приложение, которое открывается в отдельном x11, который я могу видеть и использовать, так как нет на рабочем столе фон / значки на моем пути) Tony Stark 14 лет назад 0
@hatorade: Да, XDM является одним из предпочтительных подходов для полноценного рабочего стола, а ssh -X предпочтительнее для запуска отдельных приложений. Вы можете использовать полноэкранное окно X11 (см. Ссылку в ответе) и запустить там полноэкранную среду рабочего стола. Это может работать над ssh -X. Но режим по умолчанию для Apple X11 - управлять окнами, как будто они являются локальными приложениями, и это конфликтует с частями рабочего стола gnome или KDE. Mr. Shiny and New 安宇 14 лет назад 0
3
gbjbaanb

и установить тип KDE:

yum groupinstall "X Window System" "KDE (K Desktop Environment)" 

Если у вас уже установлен Gnome, он будет установлен по умолчанию. Отредактируйте / etc / sysconfig / desktop, чтобы изменить это. Задавать:

DESKTOP="KDE" DISPLAYMANAGER="KDE"  

или используйте, switchdesk kdeчтобы перейти к KDE.

1
nagul
  • Запустите это, чтобы установить Gnome:

    yum groupinstall "X Window System" "Среда рабочего стола GNOME"

  • Запустите gnome-session, чтобы запустить среду рабочего стола GNOME.

  • Чтобы запустить его при загрузке, измените уровень запуска в / etc / inittab на 5.

    ID: 5: initdefault:

Если вы хотите войти в среду рабочего стола с другого компьютера, вам нужно изучить параметры XDMCP, VNC или FreeNX . Взгляните на эту статью: Готовить в Linux - мой рабочий стол лежит над океаном . Кроме того, GNOME поставляется с VNC-сервером в комплекте - vino. Запустите vino-предпочтения, чтобы настроить и использовать это.

@nagul: я установил gnome, нажал $ gnome-session и выскочил gnome. НО, это сделало то же самое, что происходит, когда я набираю $ startkde: рабочий стол всплывает, но каждый раз, когда я дважды щелкаю папку, она не открывается на этом экране, а в другом окне x ЗА рабочим столом графического интерфейса пользователя, который я могу ' T получить! Tony Stark 14 лет назад 0
Хм .. не уверен, что я правильно понимаю. Я предполагаю, что ваша проблема может быть с оконным менеджером. Gnome - это среда рабочего стола - он запускает оконный менеджер для управления окнами, обычно Metacity (по умолчанию). На рабочем столе графического интерфейса окна имеют границы и минимизируют / увеличивают / закрывают кнопки? nagul 14 лет назад 0
я думаю, что это менеджер окон. я слышал, что у Mac есть специальный оконный менеджер x11, который конфликтует с оконным менеджером, используемым для gnome-session / startkde. в обеих этих командах соответствующий рабочий стол полностью отображается (обои, папки, верхняя панель и т. д.), но если я скажу щелкнуть папку, она не будет отображаться на рабочем столе, но фактически открывается оконным менеджером OSX x11 ЗА раскрытым рабочим столом gnome / kde. если я нажимаю alt-tab, чтобы выбрать свой терминал, где я запустил графический интерфейс, и нажму ctr-c (терминал все еще спрятан за графическим интерфейсом), то интерфейс исчезнет, ​​но папка, которую я открыл, все еще открыта в окне x11 Tony Stark 14 лет назад 0

Похожие вопросы