Почему X-сервер работает на TTY1 и не TTY7 на Дуге Linux?

Существует довольно много проблем с Вашим кодом. В первую очередь, Вы анализируете ls, который является Плохой Идеей. Также необходимо обратиться к переменной как $file как Вы указываете, и необходимо также заключить его в кавычки так, это не повредится на пробелах. Вы объявляете num но это никогда не используется. Более безопасный путь был бы:

find /tmp/p/ -name "DSC*.JPG" | while IFS= read -r file; do
  convert "$file" -rotate 90 "$file"_rotated.JPG
done

Это будет все еще иметь проблемы, если Ваши файлы будут содержать новые строки, но по крайней мере не повредятся, если Ваш путь содержит пробелы.

Если файлы - все в том же каталоге, он может быть далее упрощен с помощью globbing. Можно также использовать расширение параметра для создания foo_rotated.JPG1 вместо foo.JPG_rotated.JPG:

for file in /tmp/p/DSC*.JPG; do
  convert "$file" -rotate 90 "${file%.JPG}"_rotated.JPG
done

4
09.05.2016, 01:16
1 ответ

Это было изменено в октябре 2012 года во время / после перехода на systemd / logind. Согласно отчет об ошибке , запуск X-сервера на другом tty, чем активный сеанс consolekit, приводил к прерыванию работы, потому что сеанс (например) на TTY7 не мог быть аутентифицирован. Без logind можно использовать ck-launch-session в ~ / .xinitrc , чтобы получить новый сеанс для X-сервера. Однако с logind это больше не работало, поэтому / etc / X11 / xinit / xserverrc был изменен, чтобы просто запускать X-сервер на текущем tty.

3
27.01.2020, 20:58

Теги

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