Экран блокировки GNOME — программно удалить затемнение экрана

Если ваш sedподдерживает опцию -E(-rв некоторых реализациях):

sed -Ee :1 -e 's/^(([^",]|"[^"]*")*),/\1|/;t1' < file

:label
   s/pattern/replacement/
t label

Очень распространенная sedидиома. Он продолжает делать одну и ту же замену в цикле, пока она успешна.

Здесь мы заменяем начальную часть строки, состоящую из 0 или более строк или символов в кавычках, отличных от "и ,(, захваченных в \1), за которыми следует ,с этим захватом \1и |, так что на вашем образце это означает:

  • John,Tonny,"345.3435,23",56th Street->John|Tonny,"345.3435,23",56th Street
  • John|Tonny,"345.3435,23",56th Street->John|Tonny|"345.3435,23",56th Street
  • John|Tonny|"345.3435,23",56th Street->John|Tonny|"345.3435,23"|56th Street
  • и мы останавливаемся здесь, так как шаблон больше не соответствует этому.

С помощью perlвы можете сделать это с помощью одной замены флага gна:

perl -pe 's{("[^"]*"|[^",]+)|,}{$1 // "|"}ge'

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

  • строка в кавычках
  • последовательности символов, отличные от ,или"
  • запятая

И только когда совпадающая строка представляет собой запятую (, если $1не определено в замещающей части ), замените ее на |.

1
29.12.2019, 19:52
1 ответ

В Ubuntu, начиная с версии 11.10, по умолчанию устанавливается заставка Gnome со следующими доступными параметрами:

$ gsettings list-recursively | grep screensaver
org.gnome.desktop.screensaver picture-opacity 100
org.gnome.desktop.screensaver logout-enabled false
org.gnome.desktop.screensaver lock-enabled false
org.gnome.desktop.screensaver logout-delay uint32 7200
org.gnome.desktop.screensaver embedded-keyboard-enabled false
org.gnome.desktop.screensaver primary-color '#023c88'
org.gnome.desktop.screensaver idle-activation-enabled true
org.gnome.desktop.screensaver secondary-color '#5789ca'
org.gnome.desktop.screensaver logout-command ''
org.gnome.desktop.screensaver color-shading-type 'solid'
org.gnome.desktop.screensaver embedded-keyboard-command ''
org.gnome.desktop.screensaver show-notifications false
org.gnome.desktop.screensaver picture-options 'zoom'
org.gnome.desktop.screensaver lock-delay uint32 0
org.gnome.desktop.screensaver show-full-name-in-top-bar true
org.gnome.desktop.screensaver picture-uri 'file:///usr/share/backgrounds/warty-final-ubuntu.png'
org.gnome.desktop.screensaver status-message-enabled true
org.gnome.desktop.screensaver ubuntu-lock-on-suspend true

Единственный способ исправить это — установить другую заставку. Я лично не рекомендовал бы вам делать это. Вы даже можете запрограммировать свой собственный.Если вы просто хотите черный экран, это легко. Чтобы также убедиться, что экран переходит в спящий режим, это немного сложнее, но вы можете найти существующий открытый исходный код, чтобы сделать это.

Кстати, вы пытаетесь удалить то, что в Gnome называется анимацией. К сожалению, в какой-то момент стало почти невозможно не получить все эти анимации (, например, когда я переключаюсь между экранами, они прокручиваются, я бы хотел сразу перейти туда...)

0
21.05.2021, 04:15

Теги

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