Скажіть Конкі оновитись окремим процесом


5

У мене Conky відображає мій поточний об'єм ${exec bash /path/to/script/getvolume.sh}. Однак я помітив, що після зміни гучності я повинен почекати деякий час, щоб Conky оновився. Чи можна мені написати інший скрипт changevolume.sh, щоб ./changevolume.sh 12не тільки змінити гучність, але й змусити Conky оновлюватись одразу після цього, так що мені не доведеться чекати звичайного періоду інтервалу оновлення?



Я не знаю точного дубліката. Але це те, до чого зводиться ваше питання.
Джозеф Р.

1
@JosephR. Це пов'язано, але я не впевнений, що це зводиться. Зміна гучності легко, але після її зміни мені доведеться почекати кілька секунд, щоб результати було оновлено на Conky. Те, що я хочу, - це спосіб для Конкі відобразити правильний гучність відразу після зміни гучності
math4tots

Ти правий. Моє ліжко. Я не звертав уваги. Закриття голосування відкликано.
Джозеф Р.

Відповіді:


6

Наскільки я знаю, немає жодного способу зовнішньої змусити conkyоновити короткий час вбивства та перезапустити його. Хороша новина полягає в тому, що вам не потрібно, ви можете просто налаштувати conkyоновлення частіше, використовуючи update_intervalналаштування:

update_interval 1

Це варіант конфігурації, тому він повинен бути розміщений у заголовку вашого .conkyrc, перед TEXTблоком.

Майте на увазі, що чим менший інтервал, тим вище conkyвикористання процесора, оскільки він буде працювати частіше. Ви самі вирішуєте, чи варто того.

Єдиним іншим варіантом буде getvolume.shвбити сценарій і перезапустити його conky. Додайте цей рядок до кінця сценарію:

killall conky; conky &

@Joseph R знайшов це на conkyсторінці чоловіка:

   An easy way to force Conky to reload your ~/.conkyrc: "killall -SIGUSR1
   conky". Saves you the trouble of having to kill and then  restart.  You
   can now also do the same with SIGHUP.

Таким чином, ви можете змусити conkyперечитати його файл init, додавши цю команду в кінець вашої getvolume.sh:

killall -SIGUSR1 conky

1
execiІнтервал не може бути нижче , ніж інтервал оновлення (зверніться до сторінки). FWIW, не потрібно перезавантажувати його conky, якщо ви надішлете його SIGUSR1або SIGHUPвін перезавантажить його rc-файл (знову дивіться man сторінку). Я опублікував це як відповідь, але видалив його, тому що його ефект буде неприємним для ОП, і це точно не те, що він / вона шукає.
Джозеф Р.

@JosephR. Я ніколи не пропонував інтервал execi бути коротшим, ніж оновлений. Вони є лише двома різними способами отримання бажаної поведінки. І так, я бачив вашу відповідь (це все ще видно для користувачів з 10 тис.), Але подумав, що насправді це вбивство та перезапуск, просто перевірив і побачив, що це не так. Чи варто додати це до свого, або ви скасуєте свою відповідь? Конкі майже напевно розщедрився для execдзвінків, але killallдзвінок змушує їх повторити їх, тому мені відповідь здається прекрасною.
terdon

Сміливо додайте вміст моєї відповіді до вашого. Я все ще не вірю, що це те, що шукає ОП.
Джозеф Р.

@JosephR. погодився, але я впевнений, що це найкраще, що він отримає :).
тердон

Я більше схильний думати, що ваше перше рішення (зменшення інтервалу оновлення) набагато краще, якщо більш високе використання процесора допустимо.
Джозеф Р.
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.