Что случилось с startx на Cygwin? - PullRequest
12 голосов
/ 05 февраля 2009

Мне только что заменили настольный компьютер. И мой предыдущий компьютер и этот имеют Windows XP. Чтобы работать со многими имеющимися у нас серверами Linux, я установил Cygwin вместе с пакетом xterm. Тем не менее, я не могу запустить startx, чтобы запустить сервер X-Window, как я делал с моим предыдущим компьютером. Я искал в Интернете, чтобы увидеть, почему startx отсутствует в моей установке, но я еще ничего не нашел. Любая помощь будет принята с благодарностью.


[Проводит дополнительные исследования] Ну, я только что установил пакет xinit, что я не помню, чтобы я делал раньше. (Возможно, это было требованием для пакета xterm, когда я в последний раз устанавливал Cygwin.) Startx теперь существует, но я бы не сказал, что он работает. Сервер X-window, который он запускает, создает окно, которое покрывает весь мой монитор тремя терминалами внутри него, в отличие от старого окна с одним терминалом размером 25 строк и 80 столбцов, к которому я привык. Хуже того, я не могу просто порождать дочерние окна, как раньше, что было реальной возможностью использования Cygwin с X-windows.

Ответы [ 5 ]

8 голосов
/ 06 февраля 2009

Хорошо, после дополнительных исследований и получения помощи от одного из моих коллег, я нашел решение своей проблемы.

Что произошло, так это то, что хотя startx существует, он теперь запускает X-сервер в полноэкранном режиме по умолчанию, а не в многооконном режиме. Оглядываясь назад, я, вероятно, мог бы скопировать / etc / X11 / xinit / xinitrc в ~ / .xinitrc и настроить его. Однако оказывается, что существуют другие сценарии запуска для X-сервера, которые легче изменить. (См. http://x.cygwin.com/docs/ug/using.html.)

В этом случае я взял скрипт startxwin.bat. Затем я внес пару изменений в startxwin.bat:

  • Я добавил букву диска в CYGWIN_ROOT, потому что в моей рабочей среде мой домашний каталог находится вне диска C.
  • Я добавил опцию "+ tb" к вызову xterm для подавления меню в верхней части X-окна.

Отличная вещь заключается в том, что, зайдя в Пуск → Программы → Cygwin-X → Xwin Server, я могу открыть X-окно Cygwin с графическим интерфейсом, даже не открывая стандартную командную строку Cygwin. Это было явно не так с моей предыдущей установкой.

Я должен добавить, что я внес эти изменения после расширения моего выбора пакетов. Вместо того, чтобы просто установить X11 → xterm, я следовал рекомендациям на шаге 15 http://x.cygwin.com/docs/ug/setup-cygwin-x-installing.html и установил:

  • X11 → X-start-menu-icons
  • X11 → xinit
  • X11 → xorg-docs
  • X11 → xorg-server

(Этот выбор выбрал X11 → xterm в качестве необходимого пакета.) Хотя я не вижу очевидной причины, по которой приведенные выше указания не работали бы только с установленными X11 → xterm и X11 → xinit, я не привел эту теорию к тесту, и у меня мало желания сдуть мою текущую установку и перестроить ее, чтобы доказать свою теорию.

Надеюсь, это поможет другим людям избежать боли.

5 голосов
/ 05 февраля 2009

Отказ от ответственности: я знаю, что этот ответ не дает прямого ответа на ваш вопрос, но предлагает хорошую альтернативу.

Я использую Cygwin + XMing для запуска удаленных приложений X:

  1. Запуск XMing
  2. Запустите мою любимую оболочку Cygwin (zsh)

    export DISPLAY=localhost:0
    ssh -X myserver.domain
    
  3. Запуск X программ

Работает как шарм. Самое приятное то, что XMing может аккуратно интегрировать X-окна в графический интерфейс Windows, т. Е. Каждое X-приложение имеет свое собственное окно с полным правом.

1 голос
/ 07 февраля 2009

Спасибо, это мне немного помогло (узнать об установке xinit ). Это новое окно startx было действительно дрянным, друг помог мне решить его по-другому: начав с startxwin.sh вместо startx . Тогда он выглядел как «старый» и работал намного лучше.

1 голос
/ 05 февраля 2009

Я всегда запускаю Cygwin install дважды ... в первый раз я просто устанавливаю пакеты по умолчанию, а во второй раз я устанавливаю ВСЕ. Загрузка длится вечно, но таким образом у меня всегда есть почти все, что я мог бы хотеть. (Мне нравится, как на Cygwin я могу установить все, и нет никаких конфликтов, в отличие от некоторых дистрибутивов Linux, где есть пакеты, которые делают одно и то же по-разному, и их нельзя установить одновременно. работа этого, чем полная ОС ... нет Cygwin sendmail, например.)

Завтра я должен установить Cygwin на новую машину, поэтому этот вопрос меня бесит. Я умру, если startx не работает. Я надеюсь, что получается, что вы просто пропустили посылку. Я настоятельно рекомендую установить все.

1 голос
/ 05 февраля 2009

Когда вы установили Cygwin, вы установили полный пакет? По умолчанию устанавливаются только базовые пакеты, которые могут не включать X.

Запустите setup.exe еще раз и убедитесь, что пакеты X11 установлены. Я просто нажимаю на маленькие двойные стрелки рядом со словом «Все», пока не появится надпись «Установить». Возможно, вместо этого вы выбрали «По умолчанию».

Лучше иметь полную установку, так как я помню, что у меня были проблемы с зависимостями Cygwin в прошлом и сейчас, когда я запускаю «Пуск», «Все программы», «CygWin-X», «XWin Server», он работает нормально , открывая одну оболочку, затем «xterm &» открывает другую оболочку.

Так что я действительно думаю, что вам нужно установить лот. Вы можете попробовать, как минимум, всю группу X11 (не только xinit), но вы также можете сделать многое, особенно учитывая мощные команды, которые вы получаете.

...