Cygwin в Windows: не удается открыть дисплей

С помощью GNU find (1) , xargs (1) и grep (1) :

  • дублируйте структуру каталогов:

     src = / path / to / source 
    dest = / other / path / to / destination 
    pat = 'some_grep_pattern' 
     
    cd "$ dest" {{ 1}} найдите "$ src" -тип d! -path "$ src" -printf '% P \ 0' | xargs -0 mkdir -p 
     
  • копировать файлы с заданным шаблоном:

     cd "$ src" 
    grep -rlZ "$ pat" | \ 
     (cd "$ dest"; \ 
    xargs -0 sh -c '\ 
    while [$ # -ne 0]; do \ 
    grep " $ pat "" $ src / $ 1 ">" $ 1 "; \ 
    touch -r" $ src / $ 1 ">" $ 1 "; \ 
    shift; \ 
    готово ' sh) 
     
  • восстановить права доступа, предполагая Linux и предполагая, что у вас нет имен файлов со встроенными символами новой строки:

     cd "$ src" 
    getfacl -RPe. | (cd "$ dest"; setfacl --restore = -) 
     
26
06.09.2015, 20:08
3 ответа

Как у меня это работает:

  • Установите пакеты xorg-server и xinit .
  • Выполните эти команды в окне оболочки Cygwin:

    startxwin

    DISPLAY = localhost: 0.0 xterm

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

1
27.01.2020, 19:40

просто экспортируйте

экспорт DISPLAY=localhost :0.0

чтобы сделать его постоянным, добавьте это в свой профиль.bash _

-1
27.01.2020, 19:40

Я запускаю графические программы без скрипта, т.е. startxwin <myapp>следующим образом:

  1. За мою команду в/etc/bash.bashrc:
export DISPLAY=:0.0
  1. Запустите сервер XWin стандартной командой:
C:\cygwin64\bin\run.exe --quote /usr/bin/bash.exe -l -c "cd; exec /usr/bin/startxwin"
  1. Запустите графическое приложение из терминала, например:
/bin/kate

П.С. Я решил свою ошибку с помощью Eclipse IDE:

qt.qpa.screen: QXcbConnection: Could not connect to display <...>
Could not connect to any X display.

Я добавил системную переменную Windows:DISPLAY=:0.0

0
27.09.2021, 18:12

Теги

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