Bumblebee 16.04: nvidia-375 зависит от xserver-xorg-legacy

Вы вызываете sed из bash, поэтому вы можете использовать bash, чтобы избежать повторения классов символов. Все внутри двойных кавычек расширяется:

rwx='\([r-]\)\([w-]\)\([x-]\)'
ls -la | sed "s/^\([d-]\)$rwx$rwx$rwx/`echo -e \"$EMG\1$EMY\2\3\4$EMR\5\6\7$EMC\8\9\10$NONE\"`/"

Но я не думаю, что поиск drwx совершенно прав. Что делать, если файл является символической ссылкой? Это начнется с l. И если это «липкий» каталог (например, /tmp), это закончится с t вместо x и т. Д.

Почему бы просто

ls -la | sed "s/^\(.\)\(...\)\(...\)\(...\)/`echo -e \"$EMG\1$EMY\2$EMR\3$EMC\4$NONE\"`/""

Наконец, если вы измените способ объявления своих цветов, вам не понадобится echo -e:

domagic() {
  local NONE=$'\033[0m'    # unsets color to term's fg color

  # regular colors
  local K=$'\033[0;30m'    # black
  local R=$'\033[0;31m'    # red
  local G=$'\033[0;32m'    # green
  local Y=$'\033[0;33m'    # yellow
  local B=$'\033[0;34m'    # blue
  local M=$'\033[0;35m'    # magenta
  local C=$'\033[0;36m'    # cyan
  local W=$'\033[0;37m'    # white

  # emphasized (bolded) colors
  local EMK=$'\033[1;30m'
  local EMR=$'\033[1;31m'
  local EMG=$'\033[1;32m'
  local EMY=$'\033[1;33m'
  local EMB=$'\033[1;34m'
  local EMM=$'\033[1;35m'
  local EMC=$'\033[1;36m'
  local EMW=$'\033[1;37m'

  # background colors
  local BGK=$'\033[40m'
  local BGR=$'\033[41m'
  local BGG=$'\033[42m'
  local BGY=$'\033[43m'
  local BGB=$'\033[44m'
  local BGM=$'\033[45m'
  local BGC=$'\033[46m'
  local BGW=$'\033[47m'

  #do magic here
  ls -la | sed "s/^\(.\)\(...\)\(...\)\(...\)/$EMG\1$EMY\2$EMR\3$EMC\4$NONE/"
}
2
задан 3 June 2017 в 08:56

4 ответа

Эти инструкции выглядят точными: http://www.webupd8.org/2016/08/how-to-install-and-configure-bumblebee.html

В моем случае, потому что я уже было в основном работает, я сделал это:

Мое решение

Добавить шмель / тестирование PPA sudo add-apt-repository ppa:bumblebee/testing sudo apt-get update Использовать Synaptic для обновления Bumblebee, сохраняя мою существующую / etc / bumblebee /bumblebee.conf Добавьте следующие строки в /etc/bumblebee/bumblebee.conf # Xorg binary to run XorgBinary=/usr/lib/xorg/Xorg Сразу после строк # Directory with a dummy config file to pass as a -configdir to secondary X XorgConfDir=/etc/bumblebee/xorg.conf.d Затем сохраните и закройте. Перезагрузите компьютер, на всякий случай. Убедитесь, что все действительно работает с помощью optirun glxinfo И видя, что он выводит что-то отличное от предыдущего, даже если он используется дважды в строке

Примечания

Заключение этого отчета об ошибке было тем, что привело меня к что это было правильное решение на данный момент: http://www.webupd8.org/2016/08/how-to-install-and-configure-bumblebee.html

У PPA есть довольно устрашающий предупреждающий знак:

Если вы не разработчик, маловероятно, чтобы вы хотите использовать этот PPA. Используйте ppa: bumblebee / stable, если вы просто обычный пользователь. В этом PPA может нарушить работу вашей системы.

Однако, похоже, Xenial (16.04) у шмеля / стабильного нет, поэтому это не вариант.

0
ответ дан 18 July 2018 в 12:15

Как вы сказали в своем собственном ответе, вы можете добавить тестирование ppa. Второй способ - просто удалить xserver-xorg-legacy и использовать стабильный ppa:

Сначала удалите xserver-xorg-legacy, не касаясь зависимых пакетов:

sudo dpkg -r --force-depends xserver-xorg-legacy

Allright - Шмель снова работает. Но apt даст вам ошибки из-за отсутствия зависимостей. Это можно устранить, создав фиктивный пакет для xserver-xorg-legacy, используя equivs. Сначала мы создаем файл конфигурации с помощью equivs-control:

equivs-control xserver-xorg-legacy

Это создаст конфигурационный файл для нового пакета в текущем каталоге. Вы можете использовать nano для редактирования этого:

nano xserver-xorg-legacy

Содержимое файла должно выглядеть так:

### Commented entries have reasonable defaults. ### Uncomment to edit them. # Source: <source package name; defaults to package name> Section: misc Priority: optional # Homepage: <enter URL here; no default> Standards-Version: 3.9.2 Package: xserver-xorg-legacy Version: 2:1.18.4-1ubuntu0.2 # Maintainer: Your Name <yourname@example.com> # Pre-Depends: <comma-separated list of packages> # Depends: <comma-separated list of packages> # Recommends: <comma-separated list of packages> # Suggests: <comma-separated list of packages> # Provides: <comma-separated list of packages> # Replaces: <comma-separated list of packages> # Architecture: all # Multi-Arch: <one of: foreign|same|allowed> # Copyright: <copyright file; defaults to GPL2> # Changelog: <changelog file; defaults to a generic changelog> # Readme: <README.Debian file; defaults to a generic one> # Extra-Files: <comma-separated list of additional files for the doc directory> # Files: <pair of space-separated paths; First is file to include, second is destination> # <more pairs, if there's more than one file to include. Notice the starting space> Description: Dummy package for nvidia-375.66 update This Package does nothing... it just exists...

Важно, что на данный момент это имя пакета:

Package: xserver-xorg-legacy

И что вам нужно поставить версию, так что 2: 1.18.4-0ubuntu0.2 становится 2: 1.18.4-1ubuntu0.2

Если вы закончили с config вам нужно создать пакет из вашего config:

equivs-build xserver-xorg-legacy

Это создаст файл пакета с указанным именем и версией. В моем случае это был xserver-xorg-legacy_1.18.4-1ubuntu0.2_all.deb

Хорошо, давайте его установим с помощью dpkg:

sudo dpkg -i xserver-xorg-legacy_1.18.4-1ubuntu0.2_all.deb

Thats it ...

xserver-xorg-legacy больше ничего не делает, и apt довольна отсутствующими зависимостями.

Удача; -)

0
ответ дан 18 July 2018 в 12:15

Эти инструкции выглядят точными: http://www.webupd8.org/2016/08/how-to-install-and-configure-bumblebee.html

В моем случае, потому что я уже было в основном работает, я сделал это:

Мое решение

Добавить шмель / тестирование PPA sudo add-apt-repository ppa:bumblebee/testing sudo apt-get update Использовать Synaptic для обновления Bumblebee, сохраняя мою существующую / etc / bumblebee /bumblebee.conf Добавьте следующие строки в /etc/bumblebee/bumblebee.conf # Xorg binary to run XorgBinary=/usr/lib/xorg/Xorg Сразу после строк # Directory with a dummy config file to pass as a -configdir to secondary X XorgConfDir=/etc/bumblebee/xorg.conf.d Затем сохраните и закройте. Перезагрузите компьютер, на всякий случай. Убедитесь, что все действительно работает с помощью optirun glxinfo И видя, что он выводит что-то отличное от предыдущего, даже если он используется дважды в строке

Примечания

Заключение этого отчета об ошибке было тем, что привело меня к что это было правильное решение на данный момент: http://www.webupd8.org/2016/08/how-to-install-and-configure-bumblebee.html

У PPA есть довольно устрашающий предупреждающий знак:

Если вы не разработчик, маловероятно, чтобы вы хотите использовать этот PPA. Используйте ppa: bumblebee / stable, если вы просто обычный пользователь. В этом PPA может нарушить работу вашей системы.

Однако, похоже, Xenial (16.04) у шмеля / стабильного нет, поэтому это не вариант.

0
ответ дан 24 July 2018 в 19:56

Как вы сказали в своем собственном ответе, вы можете добавить тестирование ppa. Второй способ - просто удалить xserver-xorg-legacy и использовать стабильный ppa:

Сначала удалите xserver-xorg-legacy, не касаясь зависимых пакетов:

sudo dpkg -r --force-depends xserver-xorg-legacy

Allright - Шмель снова работает. Но apt даст вам ошибки из-за отсутствия зависимостей. Это можно устранить, создав фиктивный пакет для xserver-xorg-legacy, используя equivs. Сначала мы создаем файл конфигурации с помощью equivs-control:

equivs-control xserver-xorg-legacy

Это создаст конфигурационный файл для нового пакета в текущем каталоге. Вы можете использовать nano для редактирования этого:

nano xserver-xorg-legacy

Содержимое файла должно выглядеть так:

### Commented entries have reasonable defaults. ### Uncomment to edit them. # Source: <source package name; defaults to package name> Section: misc Priority: optional # Homepage: <enter URL here; no default> Standards-Version: 3.9.2 Package: xserver-xorg-legacy Version: 2:1.18.4-1ubuntu0.2 # Maintainer: Your Name <yourname@example.com> # Pre-Depends: <comma-separated list of packages> # Depends: <comma-separated list of packages> # Recommends: <comma-separated list of packages> # Suggests: <comma-separated list of packages> # Provides: <comma-separated list of packages> # Replaces: <comma-separated list of packages> # Architecture: all # Multi-Arch: <one of: foreign|same|allowed> # Copyright: <copyright file; defaults to GPL2> # Changelog: <changelog file; defaults to a generic changelog> # Readme: <README.Debian file; defaults to a generic one> # Extra-Files: <comma-separated list of additional files for the doc directory> # Files: <pair of space-separated paths; First is file to include, second is destination> # <more pairs, if there's more than one file to include. Notice the starting space> Description: Dummy package for nvidia-375.66 update This Package does nothing... it just exists...

Важно, что на данный момент это имя пакета:

Package: xserver-xorg-legacy

И что вам нужно поставить версию, так что 2: 1.18.4-0ubuntu0.2 становится 2: 1.18.4-1ubuntu0.2

Если вы закончили с config вам нужно создать пакет из вашего config:

equivs-build xserver-xorg-legacy

Это создаст файл пакета с указанным именем и версией. В моем случае это был xserver-xorg-legacy_1.18.4-1ubuntu0.2_all.deb

Хорошо, давайте его установим с помощью dpkg:

sudo dpkg -i xserver-xorg-legacy_1.18.4-1ubuntu0.2_all.deb

Thats it ...

xserver-xorg-legacy больше ничего не делает, и apt довольна отсутствующими зависимостями.

Удача; -)

0
ответ дан 24 July 2018 в 19:56

Другие вопросы по тегам:

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