Корица установки на openSUSE

Принятый awk ответ Alan хорош, но здесь является универсальным использованием решения xargs и bc. Идея состоит в том, чтобы генерировать список чисел в некотором роде, использовать xargs присоединиться к ним всем на одной строке, разделенной пробелами и затем использовать sed изменить пробелы на + символы (tr работал бы также). канал это в до н.э.

Тот же метод может использоваться, чтобы создать regexp из списка strings/regexps, просто изменить пробелы на | (расширенный regexp) или \| (основной regexp) вместо +:

for i in mydoc/* ; do pdfinfo $i ; done | \
  awk '/^Pages/ {print $2}' | xargs | sed -e 's/ /+/g' | bc

Примечание: если существует много тысяч сгенерированных чисел, превышая предел длины командной строки оболочки, xargs может генерировать несколько строк. Начиная с вывода bc квалифицирует, поскольку "генерируют список чисел в некотором роде", решение состоит в том, чтобы передать вывод по каналу bc в xargs | sed -e 's/ /+/g' | bc снова.

for i in mydoc/* ; do pdfinfo $i ; done | \
  awk '/^Pages/ {print $2}' | xargs | sed -e 's/ /+/g' | bc | \
  xargs | sed -e 's/ /+/g' | bc

xargs | sed -e 's/ /+/g' | bc | xargs | sed -e 's/ /+/g' | bc может, конечно, быть помещен в сценарий оболочки, функцию или псевдоним.

и вот пример построения regexp, использующего этот метод. Если search.txt содержит нечто, панель, baz, quux (одно слово на строку) затем:

$ cat search.txt | xargs | sed -e 's/ /|/g'
foo|bar|baz|quux

useless-use-of-cat является заполнителем для этого примера - заменяют любым конвейером, который генерирует список слов или regexp шаблонов.

Если какой-либо из шаблонов поиска содержит пробелы, необходимо будет изменить их на что-то еще (выберите что-то вряд ли, чтобы быть во входе), временно, прежде, чем передать по каналу в xargs и затем возвратите их снова после sed. например, если строка 'панели' search.txt имеет конечный пробел:

$ cat search.txt | sed -e 's/ /XXX_SPACE_CHARACTER_XXX/g' | xargs | sed -e 's/ /|/g' -e 's/XXX_SPACE_CHARACTER_XXX/ /g'
foo|bar |baz|quux
1
13.12.2015, 22:09
1 ответ

Можно получить "startx" путем установки xinit:

$ zypper install xinit

Затем удостоверьтесь, что xinit настроен в Вашем $HOME/.xinitrc так, чтобы startx загрузил корицу. Что-то вроде этого:

.xinitrc:

#!/bin/sh
#exec gnome-session
exec gnome-session –session=cinnamon

Сделайте ‘.xinitrc’ исполняемым файлом файла.

$ chmod a+x .xinitrc

Вы можете в следующий раз понимать это путем поиска:

$ zypper search --provides /usr/bin/startx

Или при помощи "команды, не найденной" утилита, которую я пропущу здесь.

С другой стороны, можно запустить полный графический менеджер входа в систему:

$ systemctl start xdm.service

Или можно запустить цель вместо сервиса только:

$ systemctl list-units --type=target
UNIT                 LOAD   ACTIVE SUB    DESCRIPTION
basic.target         loaded active active Basic System
...
graphical.target     loaded active active Graphical Interface
...

Затем

$ systemctl запускают graphical.target

При использовании менеджера по входу в систему необходимо смочь выбрать Корицу из списка сессии.

Можно использовать "состояние" вместо запуска для наблюдения, почему это перестало работать в случае, если X не запускается.

2
27.01.2020, 23:38
  • 1
    Большое спасибо! Теперь что-то запускается, но я вполне уверен, что это не корица. Я получаю серый фон с маленькой оболочкой, которая похожа на него, использовался приблизительно 20 лет назад :-). Я должен изменить DE по умолчанию где-нибудь? –  user2927980 28.01.2014, 10:58
  • 2
    , я обновил ответ с инструкциями относительно того, как настроить сессию и в xinit и в методах менеджера по входу в систему. –  duncan 28.01.2014, 11:18

Теги

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