Почему конфигурация настроек NVIDIA X Server не сохраняется при перезагрузке?

Вы можете оставить файл открытым:

exec 3< file
cat <&3

sleep 3600

echo After one hour, these records were added:
cat <&3

Это означает, что это должен быть тот же процесс, вызывающий те cat одночасовые апартаменты.


Если в файловой системе включено время доступа, и ваш сценарий - единственное, что читает этот файл, вы также можете прочитать строки, метка времени которых соответствует дате последнего доступа. В системе GNU:

awk -v last_access="$(find file -prune -printf %AFT%AT)" '
   $0 > last_access' < file

Предполагается, что -04: 00 в файле журнала соответствует текущему смещению часового пояса.


Другой подход - записать текущую позицию файла где-нибудь, например, в file.pos :

{
   if [ -e file.pos ]; then
     pos=$(cat file.pos)
   else
     pos=0
   fi
   tail -c +"$((pos+1))"
   perl -le 'print tell STDIN' > file.pos
} < file

Или с ksh93

{
   if [ -e file.pos ]; then
     pos=$(<file.pos)
   else
     pos=0
   fi
   cat <#((pos))
   exec <#((pos=CUR))
   echo "$pos" > file.pos
} < file

Или с zsh :

zmodload zsh/system    
{
   if [ -e file.pos ]; then
     pos=$(<file.pos)
   else
     pos=0
   fi
   sysseek $pos
   cat
   echo "$((systell(0)))" > file.pos
} < file
3
05.01.2016, 00:59
1 ответ

Я обнаружил, что способ добавления строк в разные конфиги x11 в моем случае оказался неэффективным. В качестве альтернативы я создал сценарий bash, который автоматически применяет мои настройки при входе в систему. Проще говоря, я просто взял то, что я изменил из сохраненного файла xconf, что, по сути, приводит нас к желаемому концу. Это не самый элегантный метод, но он работает...

В приведенном ниже файле указаны мои настройки для моих мониторов, вам нужно будет поместить свою информацию поверх моей.

Лично я решил добавить эти строки прямо в.bashrc:

nvidia-settings --load-config-only
nvidia-settings --assign CurrentMetaMode="DVI-I-1: nvidia-auto-select +0+54, HDMI-0: nvidia-auto-select +1600+0 {viewportout=1792x1008+65+30}"

Мой первоначальный и действительный ответ был отредактирован, чтобы предложить поместить его в отдельный файл и вместо вызова файла в .bashrc. Оба действительны. Однако я хотел, чтобы ответ отражал оба метода.

Пример сценария bash:

# Save this to some script.sh
nvidia-settings --load-config-only
nvidia-settings --assign CurrentMetaMode="DVI-I-1: nvidia-auto-select +0+54, HDMI-0: nvidia-auto-select +1600+0 {viewportout=1792x1008+65+30}"

Затем отредактируйте .bashrcили.bash_profile(в зависимости от ваших предпочтений )и добавьте туда свой сценарий, чтобы он запускался автоматически при входе в систему.

Наконец, сделайте ваш скрипт исполняемым с помощьюchmod +x script.sh

3
27.01.2020, 21:22

Теги

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