Что случилось с startx на Cygwin?

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


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

Ответ 1

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

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

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

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

Главное, что, выбрав Пуск → Программы → Cygwin-X → Xwin Server, я могу открыть графический интерфейс Cygwin X-Window, не открывая стандартную командную строку 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-сервер

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

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

Ответ 2

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

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

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

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

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

Ответ 3

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

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

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

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

Ответ 4

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

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

Ответ 5

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