Автор Тема: Приёмы профессиональной работы в shell (справочник - вопросы не задавать. )  (Прочитано 175054 раз)

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
unblock беспроводных интерфейсов на системах с SysVinit

Если оказалось что команда
# rfkill list

сообщила что беспроводные интерфейсы заблокированы, а это может происходить от версии к версии или от флавора к флавору ядра, вы можете в системе на sysv поднять сервис, который на старте системы будет разблокировать беспроводные интерфейсы, - файл должен быть исполняемым
# cat /etc/rc.d/init.d/rfkill_unblocking
#!/bin/sh
#
# chkconfig: 2345 3 96
# description: unblock wireless interfaces

# Do not load RH compatibility interface.
WITHOUT_RC_COMPAT=1

# Source function library.
. /etc/init.d/functions

start()
{
rfkill unblock all
}

# See how we were called.
case "$1" in
start)
start
;;
stop)
# Nothing to do
;;
status)
# Nothing to do
;;
*)
msg_usage "${0##*/} {start}"
RETVAL=1
esac

exit $RETVAL

Очередь старт для сервиса выбрана не случайно
# grep -rHin chkconf /etc/rc.d/init.d/{udevd,Network*,network}
/etc/rc.d/init.d/udevd:5:# chkconfig: 2345 02 95
/etc/rc.d/init.d/NetworkManager:5:# chkconfig: - 12 90
/etc/rc.d/init.d/network:4:# chkconfig: 345 10 90

Сервис отработает после поднятия устройств, но до поднятия сети.
pid и lock файлы не нужны, - сервис однократно отрабатывает на старте и завершает свою работу. Поскольку lock-файл не создаётся, сервис не будет отрабатывать на завершении работы системы.

Подробнее о логике работы сервисов sysv см. здесь:
Корректное размонтирование самба-ресурсов на разгрузке или останове системы sysv

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
apt-repo, выбор сервера и альтовые зеркала
заметки на полях

О целях на источники (репозитории)

Их содержит этот пакет
$ rpm -ql apt-conf-branch|grep sources
/etc/apt/sources.list
/etc/apt/sources.list.d
/etc/apt/sources.list.d/alt.list
/etc/apt/sources.list.d/dcby.list
/etc/apt/sources.list.d/heanet.list
/etc/apt/sources.list.d/ipsl.list
/etc/apt/sources.list.d/yandex.list

Т.е. в наличии пять серверов:
- Главный сервер и четыре зеркала, которые описаны в файлах *.list

Полный список источников отдающих по протоколу http можно посмотреть этой командой
# apt-repo list -a|grep http
#rpm [p8] http://ftp.altlinux.org/pub/distributions/ALTLinux p8/branch/i586 debuginfo
#rpm [p8] http://ftp.altlinux.org/pub/distributions/ALTLinux p8/branch/i586 classic
#rpm [p8] http://ftp.altlinux.org/pub/distributions/ALTLinux p8/branch/noarch classic
#rpm [p8] http://mirror.datacenter.by/pub/ALTLinux p8/branch/i586 classic
#rpm [p8] http://mirror.datacenter.by/pub/ALTLinux p8/branch/noarch classic
#rpm [p8] http://ftp.heanet.ie/mirrors/ftp.altlinux.org p8/branch/i586 classic
#rpm [p8] http://ftp.heanet.ie/mirrors/ftp.altlinux.org p8/branch/noarch classic
#rpm [p8] http://distrib-coffee.ipsl.jussieu.fr/pub/linux/altlinux p8/branch/i586 classic
#rpm [p8] http://distrib-coffee.ipsl.jussieu.fr/pub/linux/altlinux p8/branch/noarch classic
#rpm [p8] http://mirror.yandex.ru/altlinux p8/branch/i586 classic
#rpm [p8] http://mirror.yandex.ru/altlinux p8/branch/noarch classic

Если команда не вывела добавленные источники
apt-repo

или они были удалены командой
# apt-repo rm all

то команда
# apt-repo add p8

или команда
# apt-repo add branch p8

добавит цели (в данном случае на репозиторий p8/branch)
# apt-repo add branch p8

которые после добавления можно просмотреть
# apt-repo
rpm [updates] http://ftp.altlinux.org/pub/distributions/ALTLinux p8/branch/i586 classic
rpm [updates] http://ftp.altlinux.org/pub/distributions/ALTLinux p8/branch/noarch classic


Самый быстрый сервер

Но всегда ли этот сервер будет самым оптимальным?
Обычно у команды ping делающей три запроса будет аналогичный вывод
$ ping -c3 ftp.altlinux.org
PING ftp.altlinux.org (62.152.55.238) 56(84) bytes of data.
64 bytes from 62.152.55.238: icmp_req=1 ttl=55 time=64.6 ms
64 bytes from 62.152.55.238: icmp_req=2 ttl=55 time=64.4 ms
64 bytes from 62.152.55.238: icmp_req=3 ttl=55 time=64.1 ms

--- ftp.altlinux.org ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2001ms
rtt min/avg/max/mdev = 64.138/64.407/64.632/0.204 ms

в которм нас интересует последняя строка
$ ping -c3 ftp.altlinux.org|grep avg
rtt min/avg/max/mdev = 93.364/141.402/169.316/34.118 ms

в которой наиболее интересна величина average, - среднее количество времени затраченное на отправку/получение трёх пакетов, которое чем меньше, тем лучше.

Зная эту величину, можно выбрать наиболее оптимальный сервер, сравнивая значение этой величины, - сервер во Франции совсем не пингуется
$ ping -c3 mirror.datacenter.by|grep avg|cut -f2 -d '='|awk -F '/' '{print $2}'
106.901
$ ping -c3 mirror.yandex.ru|grep avg|cut -f2 -d '='|awk -F '/' '{print $2}'
125.733
$ ping -c3 ftp.altlinux.org|grep avg|cut -f2 -d '='|awk -F '/' '{print $2}'
139.192
$ ping -c3 ftp.heanet.ie|grep avg|cut -f2 -d '='|awk -F '/' '{print $2}'
160.538
$ ping -c3 distrib-coffee.ipsl.jussieu.fr|grep avg|cut -f2 -d '='|awk -F '/' '{print $2}'
$

В данном случае самым оптимальным оказался сервер mirror.datacenter.by :
- У него среднее время затраченное на отправку/получение трёх пакетов оказалось наименьшим.


Выбор источника в конфигурационном файле

Эти команды в качестве источника выбирают репозиторий p8/branch на сервере ftp.altlinux.org
# apt-repo add p8
# apt-repo add branch p8

Нас же интересует наиболее быстрый сервер, - в данном случае mirror.datacenter.by
Если все источники отсутстуют или были удалены командой
# apt-repo rm all

то из списка всех источников
# apt-repo list -a|grep http
#rpm [p8] http://ftp.altlinux.org/pub/distributions/ALTLinux p8/branch/i586 debuginfo
#rpm [p8] http://ftp.altlinux.org/pub/distributions/ALTLinux p8/branch/i586 classic
#rpm [p8] http://ftp.altlinux.org/pub/distributions/ALTLinux p8/branch/noarch classic
#rpm [p8] http://mirror.datacenter.by/pub/ALTLinux p8/branch/i586 classic
#rpm [p8] http://mirror.datacenter.by/pub/ALTLinux p8/branch/noarch classic
#rpm [p8] http://ftp.heanet.ie/mirrors/ftp.altlinux.org p8/branch/i586 classic
#rpm [p8] http://ftp.heanet.ie/mirrors/ftp.altlinux.org p8/branch/noarch classic
#rpm [p8] http://distrib-coffee.ipsl.jussieu.fr/pub/linux/altlinux p8/branch/i586 classic
#rpm [p8] http://distrib-coffee.ipsl.jussieu.fr/pub/linux/altlinux p8/branch/noarch classic
#rpm [p8] http://mirror.yandex.ru/altlinux p8/branch/i586 classic
#rpm [p8] http://mirror.yandex.ru/altlinux p8/branch/noarch classic

нас интересует именно он
# apt-repo list -a|grep http|grep mirror.datacenter.by
#rpm [p8] http://mirror.datacenter.by/pub/ALTLinux p8/branch/i586 classic
#rpm [p8] http://mirror.datacenter.by/pub/ALTLinux p8/branch/noarch classic

Имея этот вывод, можно добавить сервер как источник этими командами, пользуясь функцией выделить-скопировать-вставить
# apt-repo add "rpm [p8] http://mirror.datacenter.by/pub/ALTLinux p8/branch/i586 classic"
# apt-repo add "rpm [p8] http://mirror.datacenter.by/pub/ALTLinux p8/branch/noarch classic"

и получить командой вывод добавленных источников
# apt-repo
rpm [p8] http://mirror.datacenter.by/pub/ALTLinux p8/branch/i586 classic
rpm [p8] http://mirror.datacenter.by/pub/ALTLinux p8/branch/noarch classic

или воспользоваится этой командой
# apt-repo add http://mirror.datacenter.by/pub/ALTLinux/p8/branch

чтобы цели на репозиторий выглядели так
# apt-repo
rpm http://mirror.datacenter.by/pub/ALTLinux p8/branch/i586 classic
rpm http://mirror.datacenter.by/pub/ALTLinux p8/branch/noarch classic

Но в последнем случае вам нужно знать полный путь к репозиторию на сервере.

В альтернативном варианте, добавить отсутствующие цели на репозиторий, поможет sed - строчный редактор.

Здесь он раскомментирует цели на репозиторий p8/branch расположенный на сервере mirror.datacenter.by
# sed -i 's/#rpm \[p8\] http/rpm \[p8\] http/g' /etc/apt/sources.list.d/dcby.list

Обратные слеши экранируют квадратные скобки и не позволяют интерпретировать их.
В конце команды, как цель, указан полный путь к файлу, который содержит источники на сервере.
Здесь dcby.list, это datacenter.by.

sed в указанном файле, в команде выше, раскомментирует закомментированные цели для http протокола
# apt-repo
rpm [p8] http://mirror.datacenter.by/pub/ALTLinux p8/branch/i586 classic
rpm [p8] http://mirror.datacenter.by/pub/ALTLinux p8/branch/noarch classic

Но вы можете выбрать целью sed наиболее подходящий для вас сервер из списка, в чём вам уже помогла команда ping
# ls -1 /etc/apt/sources.list.d/
alt.list
dcby.list
heanet.list
ipsl.list
yandex.list

Итак источники добавлены.

Осталось обновить локальную базу пакетов
# apt-get update

и выполнить обновление системы
# apt-get dist-upgrade

Не указывайте источниками два репозитория сразу, например p8/branch и sisyphus, - вы можете сломать систему.
« Последнее редактирование: 16.12.2016 05:07:58 от Speccyfighter »

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
xset - отключение скринсейвера и монитора


Как это делается в xfce

Эта команда отключает скринсейвер и энергосбережение монитора
xset s off -dpms

и используется в файле автозапуска
$ grep -rHn 'xset ' ~/.config/
/home/user/.config/autostart/screensaver & powersave off.desktop:7:Exec=/usr/bin/xset s off -dpms
$ xfce4-about -V
xfce4-about 4.12.1 (Xfce 4.12)
$ rpm -q smplayer
smplayer-16.11.0-alt1.8247

См. timeout и DPMS
$ xset q|grep -i 'saver\|blank\|time\|dpms\|standby'
Screen Saver:
  prefer blanking:  yes    allow exposures:  yes
  timeout:  0    cycle:  0
DPMS (Energy Star):
  Standby: 600    Suspend: 0    Off: 900
  DPMS is Disabled

После редактирования через xfce4-session-settings (Сеансы и запуск)
$ grep -rH 'xset ' ~/.config/
/home/user/.config/autostart/screensaver & powersave off.desktop:Exec=/usr/bin/xset s off -dpms
$ ls -l $HOME/.config/autostart/screensaver\ \&\ powersave\ off.desktop
-rw-r--r-- 1 user user 201 окт 28 03:08 /home/user/.config/autostart/screensaver & powersave off.desktop
$ cat $HOME/.config/autostart/screensaver\ \&\ powersave\ off.desktop
[Desktop Entry]
Encoding=UTF-8
Version=0.9.4
Type=Application
Name=screensaver & powersave off
Comment=
Exec=/usr/bin/xset s off -dpms
OnlyShowIn=XFCE;
StartupNotify=false
Terminal=false
Hidden=false


Общесистемное лежит тут
$ find /etc/ -name "*autostart*" 2>/dev/null
/etc/xdg/autostart
/etc/xdg/autostart/xfce4-notes-autostart.desktop
/etc/xdg/autostart/xfdashboard-autostart.desktop
/etc/xdg/autostart/xfce4-clipman-plugin-autostart.desktop

Спецификация для OnlyShowIn:
B. Registered OnlyShowIn Environments
Extensions to the desktop entry format
Recognized desktop entry keys

Make Applications Autostart Only In A Certain Environment (GNOME, Unity, KDE, Etc.)

Обратите внимание, что OnlyShowIn это список который должен заканчиваться точкой с запятой.

Запускать только в GNOME и Unity
OnlyShowIn=GNOME;Unity;

NotShowIn - не запускать в перечисленных DE

Помните, регистр имеет значение
OnlyShowIn Value  Environment

GNOME           GNOME Desktop
KDE           KDE Desktop
LXDE           LXDE Desktop
LXQt           LXQt Desktop
MATE           MATÉ Desktop
Razor           Razor-qt Desktop
ROX           ROX Desktop
TDE           Trinity Desktop
Unity           Unity Shell
XFCE           XFCE Desktop
EDE           EDE Desktop
Cinnamon   Cinnamon Desktop
Pantheon   Pantheon Desktop
Old           Legacy menu systems


Варианты использования xset

Допустим у вас фильмы не превышают 2 часа 15 минут.
Рассчитываем время в секундах
- время фильма
- время срабатывания скринсейвера
- время срабатывания энергосбережения монитора (dpms)

$ bc -l
60*60*2+(60*15)
8100

60*60*2+(60*20)
8400

60*60*2+(60*30)
9000

quit

Но максимальное время standby для dpms не может превышать 900 секунд
$ xset q|grep -i 'dpms\|standby'
DPMS (Energy Star):
  Standby: 0    Suspend: 0    Off: 900
  DPMS is Enabled
$ xset dpms 9000
illegal combination of values
  standby time of 9000 is greater than off time of 900

Поэтому команда выглядит так:
включить скринсейвер через 8400 секунд (2 часа 20 минут) и выключить энергосбережение монитора, - время указывается в секундах
$ xset s 8400 -dpms
$ xset q|grep -i 'saver\|blank\|time\|dpms\|standby'
Screen Saver:
  prefer blanking:  yes    allow exposures:  yes
  timeout:  8400    cycle:  0
DPMS (Energy Star):
  Standby: 0    Suspend: 0    Off: 900
  DPMS is Disabled


Если ваши видеоролики не превышают 10 минут, то скринсейвер можно выключить совсем, а в дежурный режим монитор можно отправить через 10 минут, - через 15 минут он выключится
$ xset s off dpms 600
$ xset q|grep -i 'saver\|blank\|time\|dpms\|standby'
Screen Saver:
  prefer blanking:  yes    allow exposures:  yes
  timeout:  0    cycle:  0
DPMS (Energy Star):
  Standby: 600    Suspend: 0    Off: 900
  DPMS is Enabled

Но выключить монитор можно сразу
$ xset dpms force off


Как один раз и навсегда избавиться от настройки выключения скринсейвера и энергосбережения монитора в каждом DE

Предположим что в менеджере сеансов и запуска вы уже создали какой-то подобный файл
$ grep -rH 'xset ' ~/.config/
/home/user/.config/autostart/screensaver & powersave off.desktop:Exec=/usr/bin/xset s off -dpms
$ ls -l $HOME/.config/autostart/screensaver\ \&\ powersave\ off.desktop
-rw-r--r-- 1 user user 201 окт 28 03:08 /home/user/.config/autostart/screensaver & powersave off.desktop
$ cat $HOME/.config/autostart/screensaver\ \&\ powersave\ off.desktop
[Desktop Entry]
Encoding=UTF-8
Version=0.9.4
Type=Application
Name=screensaver & powersave off
Comment=
Exec=/usr/bin/xset s off -dpms
OnlyShowIn=XFCE;
StartupNotify=false
Terminal=false
Hidden=false


и вам известна эта таблица DE используемых как список параметров для OnlyShowIn
https://standards.freedesktop.org/menu-spec/latest/apb.html
OnlyShowIn Value  Environment

GNOME           GNOME Desktop
KDE           KDE Desktop
LXDE           LXDE Desktop
LXQt           LXQt Desktop
MATE           MATÉ Desktop
Razor           Razor-qt Desktop
ROX           ROX Desktop
TDE           Trinity Desktop
Unity           Unity Shell
XFCE           XFCE Desktop
EDE           EDE Desktop
Cinnamon   Cinnamon Desktop
Pantheon   Pantheon Desktop
Old           Legacy menu systems

и эту таблицу вы поместили в файл
$ cat LF-in-strings.txt
GNOME           GNOME Desktop
KDE           KDE Desktop
LXDE           LXDE Desktop
LXQt           LXQt Desktop
MATE           MATÉ Desktop
Razor           Razor-qt Desktop
ROX           ROX Desktop
TDE           Trinity Desktop
Unity           Unity Shell
XFCE           XFCE Desktop
EDE           EDE Desktop
Cinnamon   Cinnamon Desktop
Pantheon   Pantheon Desktop
Old           Legacy menu systems

В desktop-файле, параметром для OnlyShowIn упоминается только XFCE
$ grep -rH 'OnlyShowIn' ~/.config/autostart/
/home/user/.config/autostart/screensaver & powersave off.desktop:OnlyShowIn=XFCE;

Чтобы отключение скринсейвера работало в любом DE, нужно добавить все эти DE списком для OnlyShowIn

Параметр для OnlyShowIn может выглядеть так
$ cat LF-in-strings.txt | grep -v 'Unity\|EDE\|Pantheon' | awk '{print $1}' | tr -s '\n' ';'|sed 's/$/\n/'
GNOME;KDE;LXDE;LXQt;MATE;Razor;ROX;TDE;XFCE;Cinnamon;Old;

Здесь grep исключает из списка десктопы Unity EDE Pantheon - в альтах их нет.
awk выбирает всё что находится в первом столбце файла LF-in-strings.txt, т.е. будущие параметры.
tr в каждой строке заменяет перевод строки на точку с запятой, создавая тем самым список.
sed в конец строки добавляет символ перевода строки

Значит имитация изменения парамеров для OnlyShowIn может выглядеть так
$ STRING=`cat LF-in-strings.txt | grep -v 'Unity\|EDE\|Pantheon' | awk '{print $1}' | tr -s '\n' ';'|sed 's/$/\n/'` \
&& sed 's/OnlyShowIn=.*/OnlyShowIn='"$STRING"'/' ~/.config/autostart/screensaver\ \&\ powersave\ off.desktop
[Desktop Entry]
Encoding=UTF-8
Version=0.9.4
Type=Application
Name=screensaver & powersave off
Comment=
Exec=/usr/bin/xset s off -dpms
OnlyShowIn=GNOME;KDE;LXDE;LXQt;MATE;Razor;ROX;TDE;XFCE;Cinnamon;Old;
StartupNotify=false
Terminal=false
Hidden=false

Выполняем эту же команду, но уже с редактированием desktop-файла (опция -i у sed)
$ STRING=`cat LF-in-strings.txt | grep -v 'Unity\|EDE\|Pantheon' | awk '{print $1}' | tr -s '\n' ';'|sed 's/$/\n/'` \
&& sed -i 's/OnlyShowIn=.*/OnlyShowIn='"$STRING"'/' ~/.config/autostart/screensaver\ \&\ powersave\ off.desktop

Теперь в любом из перечисленных DE, скринсейвер и энергосбережение монитора будут отключены при входе в X-сессию
$ cat ~/.config/autostart/screensaver\ \&\ powersave\ off.desktop [Desktop Entry]
Encoding=UTF-8
Version=0.9.4
Type=Application
Name=screensaver & powersave off
Comment=
Exec=/usr/bin/xset s off -dpms
OnlyShowIn=GNOME;KDE;LXDE;LXQt;MATE;Razor;ROX;TDE;XFCE;Cinnamon;Old;
StartupNotify=false
Terminal=false
Hidden=false

Какой бы ни был запущен DE, скринсейвер и энергосбережение монитора будут отключены всегда на входе в X-сессию, важно чтобы отрабатывал автозапуск при входе в X-сессию.
« Последнее редактирование: 23.12.2016 05:21:42 от Speccyfighter »

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Как посмотреть имена установленных пакетов и их исполняемые файлы

Навеяно темой:
https://forum.altlinux.org/index.php?topic=37834.0


Однострочник
Скрипт сохранит в файл nameinstpkgs+execs.txt имена всех установленных в системе пакетов и их исполняемые файлы
$ rpm -qa --qf '%{name}\n'|grep -v '^kernel\|^lib'|sort| \
       while read line; \
              do STR=`rpm -ql $line|grep 'bin/'|wc -m`; \
                 if [ "$STR" != 0 ]; \
                    then echo -e '\n'; rpm -qi $line|grep '^Name'|awk '{print $1,$2,$3}'; rpm -ql $line|grep 'bin/'; \
                 fi; \
       done \
 > nameinstpkgs+execs.txt

Последние 25 строк в файле выглядят так
$ tail -n 25 nameinstpkgs+execs.txt

Name : xz
/usr/bin/lzcat
/usr/bin/lzma
/usr/bin/lzmadec
/usr/bin/lzmainfo
/usr/bin/unlzma
/usr/bin/unxz
/usr/bin/xz
/usr/bin/xzcat
/usr/bin/xzdec


Name : youtube-dl
/usr/bin/youtube-dl


Name : zenity
/usr/bin/gdialog
/usr/bin/zenity


Name : zsh
/bin/zsh
/usr/bin/zsh


Количество установленных пакетов имеющих исполняемые файлы
$ grep ^Name nameinstpkgs+execs.txt|wc -l
397

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 19 908
    • Домашняя страница
    • Email
Просили же приложения. Поэтому find /usr/share/applications -name \*.desktop|xargs -n1 sed -n 's/^Exec=//p'
Андрей Черепанов (cas@)

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 246
  • Учиться .... Телепатами не рождаются, ими ....
    • Email
 find /usr/share/applications -name \*.desktop|xargs -n1 sed -n 's/^Exec=//p' | sort -fu
« Последнее редактирование: 25.12.2016 13:37:02 от ruslandh »

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 19 908
    • Домашняя страница
    • Email
Перед Exec поставь ^, чтобы не дублировать TryExec.
Андрей Черепанов (cas@)

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Опции для /etc/X11/xinit/Xkbmap

https://bugs.freedesktop.org/attachment.cgi?id=7831
! model
  pc101           Generic 101-key PC
  pc102           Generic 102-key (Intl) PC
  pc104           Generic 104-key PC
  pc105           Generic 105-key (Intl) PC
  dell101         Dell 101-key PC
  dellm65         Dell Precision M65
  everex          Everex STEPnote
  flexpro         Keytronic FlexPro
  microsoft       Microsoft Natural
  omnikey101      Northgate OmniKey 101
  winbook         Winbook Model XP5
  jp106           Japanese 106-key
  pc98            PC-98xx Series
  a4techKB21      A4Tech KB-21
  a4techKBS8      A4Tech KBS-8
  abnt2           Brazilian ABNT2
  airkey          Acer AirKey V
  acpi            ACPI Standard
  azonaRF2300     Azona RF2300 wireless Internet Keyboard
  scorpius        Advance Scorpius KI
  brother         Brother Internet Keyboard
  btc5113rf       BTC 5113RF Multimedia
  btc5126t        BTC 5126T
  btc9000         BTC 9000
  btc9000a        BTC 9000A
  btc9001ah       BTC 9001AH
  btc5090         BTC 5090
  cherryblue      Cherry Blue Line CyBo@rd
  cherryblueb     Cherry CyMotion Master XPress
  cherrybluea     Cherry Blue Line CyBo@rd (alternate option)
  cherrycyboard   Cherry CyBo@rd USB-Hub
  chicony         Chicony Internet Keyboard
  chicony9885     Chicony KB-9885
  compaqeak8      Compaq Easy Access Keyboard
  compaqik7       Compaq Internet Keyboard (7 keys)
  compaqik13      Compaq Internet Keyboard (13 keys)
  compaqik18      Compaq Internet Keyboard (18 keys)
  cymotionlinux   Cherry CyMotion Master Linux
  armada          Laptop/notebook Compaq (eg. Armada) Laptop Keyboard
  presario        Laptop/notebook Compaq (eg. Presario) Internet Keyboard
  ipaq            Compaq iPaq Keyboard
  dell            Dell
  dellusbmm       Dell USB Multimedia Keybard
  inspiron        Laptop/notebook Dell Inspiron 6xxx/8xxx
  dexxa           Dexxa Wireless Desktop Keyboard
  diamond         Diamond 9801 / 9802 series
  dtk2000         DTK2000
  ennyah_dkb1008  Ennyah DKB-1008
  genius          Genius Comfy KB-16M / Genius MM Keyboard KWD-910
  geniuscomfy     Genius Comfy KB-12e
  geniuscomfy2    Genius Comfy KB-21e-Scroll
  gyration        Gyration
  hpi6            Hewlett-Packard Internet Keyboard
  hp2501          Hewlett-Packard SK-2501 Multimedia Keyboard
  hp2505          Hewlett-Packard SK-2505 Internet Keyboard
  hpxe3gc         Hewlett-Packard Omnibook XE3 GC
  hpxe3gf         Hewlett-Packard Omnibook XE3 GF
  hpxt1000        Hewlett-Packard Omnibook XT1000
  hpzt11xx        Hewlett-Packard Pavilion ZT11xx
  hp500fa         Hewlett-Packard Omnibook 500 FA
  hp5xx           Hewlett-Packard Omnibook 5xx
  hp6000          Hewlett-Packard Omnibook 6000/6100
  honeywell_euroboard Honeywell Euroboard
  rapidaccess     IBM Rapid Access
  rapidaccess2    IBM Rapid Access II
  rapidaccess2a   IBM Rapid Access II (alternate option)
  thinkpad        IBM ThinkPad 560Z/600/600E/A22E
  thinkpadintl    IBM ThinkPad 560Z/600/600E/A22E, Intl
  logiaccess      Logitech Access Keyboard
  ltcd            Logitech Cordless Desktop
  logicdit        Logitech Cordless Desktop iTouch
  logicdp         Logitech Cordless Desktop Pro
  logicdpa        Logitech Cordless Desktop Pro (alternate option)
  logicdpa2       Logitech Cordless Desktop Pro (alternate option2)
  logicdo         Logitech Cordless Desktop Optical
  logicfn         Logitech Cordless Freedom/Desktop Navigator
  logicdn         Logitech Cordless Desktop Navigator
  logidak         Logitech Deluxe Access Keyboard
  logiitc         Logitech iTouch Cordless Keyboard (model Y-RB6)
  logiik          Logitech Internet Keyboard
  itouch          Logitech iTouch
  logiitc         Logitech iTouch Cordless Keyboard (model Y-RB6)
  logiik          Logitech Internet Keyboard
  logiink         Logitech Internet Navigator Keyboard
  itouchin        Logitech iTouch keyboard Internet Navigator
  logiultrax      Logitech Ultra-X Keyboard
  mx1998          Memorex MX1998
  mx2500          Memorex MX2500 EZ-Access Keyboard
  mx2750          Memorex MX2750
  microsoftinet   Microsoft Internet Keyboard
  microsoftpro    Microsoft Natural Keyboard Pro / Microsoft Internet Keyboard Pro
  microsoftprousb Microsoft Natural Keyboard Pro USB / Microsoft Internet Keyboard Pro
  microsoftprooem Microsoft Natural Keyboard Pro OEM
  microsoftprose  Microsoft Internet Keyboard Pro, Swedish
  microsoftoffice Microsoft Office Keyboard
  microsoftmult   Microsoft Wireless Multimedia Keyboard 1.0A
  oretec          Oretec MCK-800 MM/Internet keyboard
  propeller       Propeller Voyager (KTEZ-1000)
  qtronix         QTronix Scorpius 98N+
  samsung4500     Samsung SDM 4500P
  samsung4510     Samsung SDM 4510P
  sk1300          SK-1300
  sk2500          SK-2500
  sk6200          SK-6200
  sk7100          SK-7100
  sp_inet         Super Power Multimedia Keyboard
  sven            SVEN Ergonomic 2500
  symplon         Symplon PaceBook (tablet PC)
  toshiba_s3000   Toshiba Satellite S3000
  trust           Trust Wireless Keyboard Classic
  trustda         Trust Direct Access Keyboard
  yahoo           Yahoo! Internet Keyboard
  macbook78       MacBook/MacBook Pro (US)
  macbook79       MacBook/MacBook Pro (Intl)
  macintosh       Macintosh
  macintosh_old   Macintosh Old
  powerpcps2      PowerPC PS/2
  acer_tm_800     Acer TravelMate 800
  power_g5        Power G5
  silvercrest     SILVERCREST Multimedia Wireless Keyboard
  emachines       Laptop/notebook eMachines m68xx
  kinesis         Kinesis Classic Keyboard
  kr106           Korean 106-key

! layout
  us              U.S. English
  ad              Andorra
  af              Afghanistan
  ara             Arabic
  al              Albania
  am              Armenia
  az              Azerbaijan
  by              Belarus
  be              Belgium
  bd              Bangladesh
  in              India
  ba              Bosnia and Herzegovina
  br              Brazil
  bg              Bulgaria
  mm              Myanmar
  ca              Canada
  hr              Croatia
  cz              Czechia
  dk              Denmark
  nl              Netherlands
  bt              Bhutan
  ee              Estonia
  ir              Iran
  fo              Faroe Islands
  fi              Finland
  fr              France
  gh              Ghana
  ge              Georgia
  de              Germany
  gr              Greece
  hu              Hungary
  is              Iceland
  il              Israel
  it              Italy
  jp              Japan
  kg              Kyrgyzstan
  kh              Cambodia
  kz              Kazakhstan
  la              Laos
  latam           Latin American
  lt              Lithuania
  lv              Latvia
  mao             Maori
  mk              Macedonia
  mt              Malta
  mn              Mongolia
  no              Norway
  pl              Poland
  pt              Portugal
  ro              Romania
  ru              Russia
  cs              Serbia and Montenegro
  si              Slovenia
  sk              Slovakia
  es              Spain
  se              Sweden
  ch              Switzerland
  sy              Syria
  tj              Tajikistan
  lk              Sri Lanka
  th              Thailand
  tr              Turkey
  ua              Ukraine
  gb              United Kingdom
  uz              Uzbekistan
  vn              Vietnam
  kr              Korea, Republic of
  nec_vndr/jp     PC-98xx Series
  ie              Ireland
  pk              Pakistan
  mv              Maldives
  za              South Africa
  epo             Esperanto

! variant
  intl            us: International (with dead keys)
  alt-intl        us: Alternative international (former us_intl)
  dvorak          us: Dvorak
  dvorak-l        us: Left handed Dvorak
  dvorak-r        us: Right handed Dvorak
  rus             us: Russian phonetic
  ps              af: Pashto
  uz              af: Southern Uzbek
  azerty          ara: azerty
  azerty_digits   ara: azerty/digits
  digits          ara: digits
  qwerty          ara: qwerty
  qwerty_digits   ara: qwerty/digits
  phonetic        am: Phonetic
  cyrillic        az: Cyrillic
  winkeys         by: Winkeys
  latin           by: Latin
  iso-alternate   be: ISO Alternate
  nodeadkeys      be: Eliminate dead keys
  sundeadkeys     be: Sun dead keys
  probhat         bd: Probhat
  ben             in: Bengali
  ben_probhat     in: Bengali Probhat
  guj             in: Gujarati
  guru            in: Gurmukhi
  kan             in: Kannada
  mal             in: Malayalam
  ori             in: Oriya
  tam_unicode     in: Tamil Unicode
  tam_TAB         in: Tamil TAB Typewriter
  tam_TSCII       in: Tamil TSCII Typewriter
  tam             in: Tamil
  tel             in: Telugu
  urd             in: Urdu
  alternatequotes ba: Use guillemots for quotes
  unicode         ba: Use Bosnian digraphs
  unicodeus       ba: US keyboard with Bosnian digraphs
  us              ba: US keyboard with Bosnian letters
  nodeadkeys      br: Eliminate dead keys
  phonetic        bg: Phonetic
  fr-dvorak       ca: French Dvorak
  fr-legacy       ca: French (legacy)
  multix          ca: Multilingual
  multi           ca: Multilingual, first part
  multi-2gr       ca: Multilingual, second part
  ike             ca: Inuktitut
  alternatequotes hr: Use guillemots for quotes
  unicode         hr: Use Croatian digraphs
  unicodeus       hr: US keyboard with Croatian digraphs
  us              hr: US keyboard with Croatian letters
  bksl            cz: With <\|> key
  qwerty          cz: qwerty
  qwerty_bksl     cz: qwerty, extended Backslash
  nodeadkeys      dk: Eliminate dead keys
  sundeadkeys     nl: Sun dead keys
  nodeadkeys      ee: Eliminate dead keys
  dvorak          ee: Dvorak
  pro             ir: Pro
  keypad          ir: Keypad
  pro_keypad      ir: Pro Keypad
  nodeadkeys      fo: Eliminate dead keys
  nodeadkeys      fi: Eliminate dead keys
  smi             fi: Northern Saami
  nodeadkeys      fr: Eliminate dead keys
  sundeadkeys     fr: Sun dead keys
  latin9          fr: Alternative
  latin9_nodeadkeys fr: Alternative, eliminate dead keys
  latin9_sundeadkeys fr: Alternative, Sun dead keys
  dvorak          fr: Dvorak
  generic         gh: Multilingual
  akan            gh: Akan
  ewe             gh: Ewe
  fula            gh: Fula
  ga              gh: Ga
  hausa           gh: Hausa
  ru              ge: Russian
  deadacute       de: Dead acute
  deadgraveacute  de: Dead grave acute
  nodeadkeys      de: Eliminate dead keys
  ro              de: Romanian keyboard with German letters
  ro_nodeadkeys   de: Romanian keyboard with German letters, eliminate dead keys
  dvorak          de: Dvorak
  sundeadkeys     de: Sun dead keys
  extended        gr: Extended
  nodeadkeys      gr: Eliminate dead keys
  polytonic       gr: Polytonic
  standard        hu: Standard
  nodeadkeys      hu: Eliminate dead keys
  qwerty          hu: qwerty
  101_qwertz_comma_dead hu: 101/qwertz/comma/Dead keys
  101_qwertz_comma_nodead hu: 101/qwertz/comma/Eliminate dead keys
  101_qwertz_dot_dead hu: 101/qwertz/dot/Dead keys
  101_qwertz_dot_nodead hu: 101/qwertz/dot/Eliminate dead keys
  101_qwerty_comma_dead hu: 101/qwerty/comma/Dead keys
  101_qwerty_comma_nodead hu: 101/qwerty/comma/Eliminate dead keys
  101_qwerty_dot_dead hu: 101/qwerty/dot/Dead keys
  101_qwerty_dot_nodead hu: 101/qwerty/dot/Eliminate dead keys
  102_qwertz_comma_dead hu: 102/qwertz/comma/Dead keys
  102_qwertz_comma_nodead hu: 102/qwertz/comma/Eliminate dead keys
  102_qwertz_dot_dead hu: 102/qwertz/dot/Dead keys
  102_qwertz_dot_nodead hu: 102/qwertz/dot/Eliminate dead keys
  102_qwerty_comma_dead hu: 102/qwerty/comma/Dead keys
  102_qwerty_comma_nodead hu: 102/qwerty/comma/Eliminate dead keys
  102_qwerty_dot_dead hu: 102/qwerty/dot/Dead keys
  102_qwerty_dot_nodead hu: 102/qwerty/dot/Eliminate dead keys
  Sundeadkeys     is: Sun dead keys
  nodeadkeys      is: Eliminate dead keys
  lyx             il: lyx
  si1452          il: si1452
  phonetic        il: Phonetic
  nodeadkeys      it: Eliminate dead keys
  ruskaz          kz: Russian with Kazakh
  kazrus          kz: Kazakh with Russian
  nodeadkeys      latam: Eliminate dead keys
  sundeadkeys     latam: Sun dead keys
  std             lt: Standard
  us              lt: US keyboard with Lithuanian letters
  apostrophe      lv: Apostrophe (') variant
  tilde           lv: Tilde (~) variant
  fkey            lv: F-letter (F) variant
  nodeadkeys      mk: Eliminate dead keys
  us              mt: US keyboard with Maltian letters
  nodeadkeys      no: Eliminate dead keys
  dvorak          no: Dvorak
  smi             no: Northern Saami
  smi_nodeadkeys  no: Northern Saami, eliminate dead keys
  qwertz          pl: qwertz
  dvorak          pl: Dvorak
  dvorak_quotes   pl: Dvorak, Polish quotes on quotemark key
  dvorak_altquotes pl: Dvorak, Polish quotes on key "1/!"
  nodeadkeys      pt: Eliminate dead keys
  sundeadkeys     pt: Sun dead keys
  std             ro: Standard
  winkeys         ro: Winkeys
  phonetic        ru: Phonetic
  typewriter      ru: Typewriter
  winkeys         ru: Winkeys
  tt              ru: Tatar
  yz              cs: Z and ZHE swapped
  latin           cs: Latin
  latinunicode    cs: Latin Unicode
  latinyz         cs: Latin qwerty
  latinunicodeyz  cs: Latin Unicode qwerty
  alternatequotes cs: With guillemots
  latinalternatequotes cs: Latin with guillemots
  alternatequotes si: Use guillemots for quotes
  unicode         si: Use Slovenian digraphs
  unicodeus       si: US keyboard with Slovenian digraphs
  us              si: US keyboard with Slovenian letters
  bksl            sk: Extended Backslash
  qwerty          sk: qwerty
  qwerty_bksl     sk: qwerty, extended Backslash
  nodeadkeys      es: Eliminate dead keys
  sundeadkeys     es: Sun dead keys
  dvorak          es: Dvorak
  cat             es: Catalan variant with middle-dot L
  nodeadkeys      se: Eliminate dead keys
  dvorak          se: Dvorak
  rus             se: Russian phonetic
  rus_nodeadkeys  se: Russian phonetic, eliminate dead keys
  smi             se: Northern Saami
  de_nodeadkeys   ch: German, eliminate dead keys
  de_sundeadkeys  ch: German, Sun dead keys
  fr              ch: French
  fr_nodeadkeys   ch: French, eliminate dead keys
  fr_sundeadkeys  ch: French, Sun dead keys
  syc             sy: Syriac
  syc_phonetic    sy: Syriac phonetic
  tam_unicode     lk: Tamil Unicode
  tam_TAB         lk: Tamil TAB Typewriter
  tis             th: TIS-820.2538
  pat             th: Pattachote
  f               tr: (F)
  alt             tr: Alt-Q
  sundeadkeys     tr: Sun dead keys
  phonetic        ua: Phonetic
  typewriter      ua: Typewriter
  winkeys         ua: Winkeys
  rstu            ua: Standard RSTU
  rstu_ru         ua: Standard RSTU on Russian layout
  intl            gb: International (with dead keys)
  dvorak          gb: Dvorak
  kr104           kr: 101/104 key Compatible
  CloGaelach      ie: CloGaelach
  UnicodeExpert   ie: UnicodeExpert
  ogam            ie: Ogham
  ogam_is434      ie: Ogham IS434

! option
  grp                  Group Shift/Lock behavior
  grp:switch           R-Alt switches group while pressed.
  grp:lswitch          Left Alt key switches group while pressed.
  grp:lwin_switch      Left Win-key switches group while pressed.
  grp:rwin_switch      Right Win-key switches group while pressed.
  grp:win_switch       Both Win-keys switch group while pressed.
  grp:rctrl_switch     Right Ctrl key switches group while pressed.
  grp:toggle           Right Alt key changes group.
  grp:lalt_toggle      Left Alt key changes group.
  grp:caps_toggle      CapsLock key changes group.
  grp:shift_caps_toggle Shift+CapsLock changes group.
  grp:shifts_toggle    Both Shift keys together change group.
  grp:alts_toggle      Both Alt keys together change group.
  grp:ctrls_toggle     Both Ctrl keys together change group.
  grp:ctrl_shift_toggle Ctrl+Shift changes group.
  grp:ctrl_alt_toggle  Alt+Ctrl changes group.
  grp:alt_shift_toggle Alt+Shift changes group.
  grp:menu_toggle      Menu key changes group.
  grp:lwin_toggle      Left Win-key changes group.
  grp:rwin_toggle      Right Win-key changes group.
  grp:lshift_toggle    Left Shift key changes group.
  grp:rshift_toggle    Right Shift key changes group.
  grp:lctrl_toggle     Left Ctrl key changes group.
  grp:rctrl_toggle     Right Ctrl key changes group.
  lv3                  Third level choosers
  lv3:switch           Press Right Ctrl to choose 3rd level.
  lv3:menu_switch      Press Menu key to choose 3rd level.
  lv3:win_switch       Press any of Win-keys to choose 3rd level.
  lv3:lwin_switch      Press Left Win-key to choose 3rd level.
  lv3:rwin_switch      Press Right Win-key to choose 3rd level.
  lv3:alt_switch       Press any of Alt keys to choose 3rd level.
  lv3:lalt_switch      Press Left Alt key to choose 3rd level.
  lv3:ralt_switch      Press Right Alt key to choose 3rd level.
  ctrl                 Ctrl key position
  ctrl:nocaps          Make CapsLock an additional Ctrl.
  ctrl:swapcaps        Swap Ctrl and CapsLock.
  ctrl:ctrl_ac         Ctrl key at left of 'A'
  ctrl:ctrl_aa         Ctrl key at bottom left
  ctrl:ctrl_ra         Right Ctrl key works as Right Alt.
  grp_led              Use keyboard LED to show alternative group.
  grp_led:num          NumLock LED shows alternative group.
  grp_led:caps         CapsLock LED shows alternative group.
  grp_led:scroll       ScrollLock LED shows alternative group.
  caps                 CapsLock key behavior
  caps:internal        CapsLock uses internal capitalization. Shift cancels CapsLock.
  caps:internal_nocancel CapsLock uses internal capitalization. Shift doesn't cancel CapsLock.
  caps:shift           CapsLock acts as Shift with locking. Shift cancels CapsLock.
  caps:shift_nocancel  CapsLock acts as Shift with locking. Shift doesn't cancel CapsLock.
  caps:shift_lock      CapsLock just locks the Shift modifier.
  caps:capslock        CapsLock toggles normal capitalization of alphabetic characters.
  caps:shiftlock       CapsLock toggles Shift so all keys are affected.
  altwin               Alt/Win key behavior
  altwin:menu          Add the standard behavior to Menu key.
  altwin:meta_alt      Alt and Meta are on the Alt keys (default).
  altwin:meta_win      Meta is mapped to the Win-keys.
  altwin:left_meta_win Meta is mapped to the left Win-key.
  altwin:super_win     Super is mapped to the Win-keys (default).
  altwin:hyper_win     Hyper is mapped to the Win-keys.
  altwin:alt_super_win Alt is mapped to the right Win-key and Super to Menu.
  altwin:alt_win       Alt is mapped to the Win-keys. Alt becomes Meta.
  Compose key          Compose key position
  compose:ralt         Right Alt is Compose.
  compose:rwin         Right Win-key is Compose.
  compose:menu         Menu is Compose.
  compose:rctrl        Right Ctrl is Compose.
  compose:caps         Caps Lock is Compose.
  compat               Miscellaneous compatibility options
  numpad:microsoft     Shift with numpad keys works as in MS Windows.
  srvrkeys:none        Special keys (Ctrl+Alt+<key>) handled in a server.
  eurosign             Adding the EuroSign to certain keys
  eurosign:e           Add the EuroSign to the E key.
  eurosign:5           Add the EuroSign to the 5 key.
  eurosign:2           Add the EuroSign to the 2 key.
  japan                Japanese Keyboard Options
  japan:kana_lock      Kana Lock key is locking

Применение, например:
$ cat /etc/X11/xinit/Xkbmap
-layout us,ru
-option grp:ctrl_shift_toggle,grp:switch,compose:menu,grp_led:num
« Последнее редактирование: 06.02.2017 02:20:17 от Speccyfighter »

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Отображение в коммандере на системе с udisks2, файловой системы на скрытом разделе NTFS


Такие разделы имеются на флешках с записанным на них гибридным образом дистрибутива и при подключении такой флешки в usb-порт эти разделы не отображаются, это скрытый NTFS раздел с hex-кодом 17h:
# fdisk -l /dev/sdb|grep '^/\|Тип'
Тип метки диска: dos
Устр-во    Загрузочный  начало   Конец Секторы Размер Идентификатор Тип
/dev/sdb1  *                64 1120255 1120192   547M            17 Скрытый HPFS/NTFS
/dev/sdb2              1120257 7574303 6454047   3,1G            83 Linux

На системах с udisks2 их запрещено отображать,  -  HintIgnore:  true
# udisksctl info -b /dev/sdb1|grep ' Device:\|Hint\|Label\| Type'
    Device:                     /dev/sdb1
    HintAuto:                   true
    HintIconName:               
    HintIgnore:                 true
    HintName:                   
    HintPartitionable:          true
    HintSymbolicIconName:       
    HintSystem:                 false
    IdLabel:                    ALT p8 xfce-sysv/i586
    Type:               0x17

Правила обработки лежат в файле /lib/udev/rules.d/80-udisks2.rules
В данном случае нас интересует тип dos, hidden (скрытый тип раздела)
# grep -rHin hidden /lib/udev/rules.d/
/lib/udev/rules.d/80-udisks2.rules:117:# special DOS partition types (EFI, hidden, etc.) and RAID/LVM
/lib/udev/rules.d/80-udisks2.rules:148:# is hidden above. So undo this.

Это правило выглядит так:
В строке через пайпы перечисляются hex-коды типов разделов для которых будет работать UDISKS_IGNORE выставленный в единицу
# sed -n '117,121p' /lib/udev/rules.d/80-udisks2.rules
# special DOS partition types (EFI, hidden, etc.) and RAID/LVM
# see http://www.win.tue.nl/~aeb/partitions/partition_types-1.html
ENV{ID_PART_ENTRY_SCHEME}=="dos", \
  ENV{ID_PART_ENTRY_TYPE}=="0x0|0x11|0x12|0x14|0x16|0x17|0x1b|0x1c|0x1e|0x27|0x3d|0x84|0x8d|0x8e|0x90|0x91|0x92|0x93|0x97|0x98|0x9a|0x9b|0xbb|0xc2|0xc3|0xdd|0xef|0xfd", \
  ENV{UDISKS_IGNORE}="1"

Для правки правила, копируем файл с правилами в каталог /etc
# cp /lib/udev/rules.d/80-udisks2.rules /etc/udev/rules.d/
и далее работаем с rules-файлом скопированным в /etc

Комментируем правило для резерва и создаём его раскомментированную копию.
В раскомментированной копии правила, из строки перечислений hex-кодов убираем пайп и hex-код 17h (0x17 скрытый NTFS), сохраняем после приведения к такому виду
# sed -n '117,125p' /etc/udev/rules.d/80-udisks2.rules
# special DOS partition types (EFI, hidden, etc.) and RAID/LVM
# see http://www.win.tue.nl/~aeb/partitions/partition_types-1.html
#ENV{ID_PART_ENTRY_SCHEME}=="dos", \
#  ENV{ID_PART_ENTRY_TYPE}=="0x0|0x11|0x12|0x14|0x16|0x17|0x1b|0x1c|0x1e|0x27|0x3d|0x84|0x8d|0x8e|0x90|0x91|0x92|0x93|0x97|0x98|0x9a|0x9b|0xbb|0xc2|0xc3|0xdd|0xef|0xfd", \
#  ENV{UDISKS_IGNORE}="1"
ENV{ID_PART_ENTRY_SCHEME}=="dos", \
  ENV{ID_PART_ENTRY_TYPE}=="0x0|0x11|0x12|0x14|0x16|0x1b|0x1c|0x1e|0x27|0x3d|0x84|0x8d|0x8e|0x90|0x91|0x92|0x93|0x97|0x98|0x9a|0x9b|0xbb|0xc2|0xc3|0xdd|0xef|0xfd", \
  ENV{UDISKS_IGNORE}="1"

Переподключите флешку к usb-порту.
Теперь файловая система скрытого раздела NTFS на флешке, всегда будет отображаться в коммандере.
Состояние HintIgnore сменится только после переподключения флешки:
# udisksctl info -b /dev/sdb1|grep ' Device:\|Hint\|Label\| Type'
    Device:                     /dev/sdb1
    HintAuto:                   true
    HintIconName:               
    HintIgnore:                 false
    HintName:                   
    HintPartitionable:          true
    HintSymbolicIconName:       
    HintSystem:                 false
    IdLabel:                    ALT p8 xfce-sysv/i586
    Type:               0x17


Более полный список типов разделов с идентификаторами, можно увидеть в fdisk:
# LANG=C fdisk /dev/sdb

Welcome to fdisk (util-linux 2.29.0).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m for help): l

 0  Empty           24  NEC DOS         81  Minix / old Lin bf  Solaris       
 1  FAT12           27  Hidden NTFS Win 82  Linux swap / So c1  DRDOS/sec (FAT-
 2  XENIX root      39  Plan 9          83  Linux           c4  DRDOS/sec (FAT-
 3  XENIX usr       3c  PartitionMagic  84  OS/2 hidden or  c6  DRDOS/sec (FAT-
 4  FAT16 <32M      40  Venix 80286     85  Linux extended  c7  Syrinx         
 5  Extended        41  PPC PReP Boot   86  NTFS volume set da  Non-FS data   
 6  FAT16           42  SFS             87  NTFS volume set db  CP/M / CTOS / .
 7  HPFS/NTFS/exFAT 4d  QNX4.x          88  Linux plaintext de  Dell Utility   
 8  AIX             4e  QNX4.x 2nd part 8e  Linux LVM       df  BootIt         
 9  AIX bootable    4f  QNX4.x 3rd part 93  Amoeba          e1  DOS access     
 a  OS/2 Boot Manag 50  OnTrack DM      94  Amoeba BBT      e3  DOS R/O       
 b  W95 FAT32       51  OnTrack DM6 Aux 9f  BSD/OS          e4  SpeedStor     
 c  W95 FAT32 (LBA) 52  CP/M            a0  IBM Thinkpad hi ea  Rufus alignment
 e  W95 FAT16 (LBA) 53  OnTrack DM6 Aux a5  FreeBSD         eb  BeOS fs       
 f  W95 Ext'd (LBA) 54  OnTrackDM6      a6  OpenBSD         ee  GPT           
10  OPUS            55  EZ-Drive        a7  NeXTSTEP        ef  EFI (FAT-12/16/
11  Hidden FAT12    56  Golden Bow      a8  Darwin UFS      f0  Linux/PA-RISC b
12  Compaq diagnost 5c  Priam Edisk     a9  NetBSD          f1  SpeedStor     
14  Hidden FAT16 <3 61  SpeedStor       ab  Darwin boot     f4  SpeedStor     
16  Hidden FAT16    63  GNU HURD or Sys af  HFS / HFS+      f2  DOS secondary 
17  Hidden HPFS/NTF 64  Novell Netware  b7  BSDI fs         fb  VMware VMFS   
18  AST SmartSleep  65  Novell Netware  b8  BSDI swap       fc  VMware VMKCORE
1b  Hidden W95 FAT3 70  DiskSecure Mult bb  Boot Wizard hid fd  Linux raid auto
1c  Hidden W95 FAT3 75  PC/IX           bc  Acronis FAT32 L fe  LANstep       
1e  Hidden W95 FAT1 80  Old Minix       be  Solaris boot    ff  BBT           

Command (m for help): q


После такой коррекции, в системах на udisks2, в коммандерах будут отображаться все скрытые разделы NTFS.

Чтобы отображался только скрытый NTFS гибридных альтовых(!!!) флешек, необходимо это правило адаптированное под альтовые гибриды на флешках:
# Content created using isohybrid (typically used on CDs and USB
# sticks for bootable media) is a bit special insofar that the
# interesting content is on a NTFS partition with type 0x17 ... which
# is hidden above. So undo this.
#
# See http://mjg59.dreamwidth.org/11285.html for more details
#
ENV{ID_PART_TABLE_TYPE}=="dos", ENV{ID_PART_ENTRY_TYPE}=="0x17", ENV{ID_PART_ENTRY_NUMBER}=="1", ENV{ID_FS_TYPE}=="iso9660|udf", ENV{UDISKS_IGNORE}="0"

Оно исправляет последние строки в файле
/lib/udev/rules.d/80-udisks2.rules
и делает так как нужно. Т.е. делает "So undo this" для тип dos, тип раздела 17h, раздела 1, с файловой iso9660|udf, - не игнорировать этот раздел и отображать.
Ждём исправления бага #33180
После чего для альтовых флешек этот совет перестанет быть актуальным.
« Последнее редактирование: 27.02.2017 22:34:25 от Speccyfighter »

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Редактирование без редакторов
Редактирование ASCII текстовых файлов

Если вдруг /usr оказался на отмонтированной файловой, а редактора под руками не оказалось, но он нужен срочно, - выход всегда есть.

Эффективные приёмы работы с текстом от IBM:
https://www.ibm.com/developerworks/ru/library/au-textedit/

Используемые инструменты:
$ ls -1 /bin/{cat,ed,sed}
/bin/cat
/bin/ed
/bin/sed

Набор текста (Завершение набора по Ctrl+d)
$ cat > 123.txt
This is the cat
Файл набран

Текст набран
$ cat 123.txt
This is the cat
Файл набран

Замена текста
$ sed -i 's/набран/создан/' 123.txt
$ cat 123.txt
This is the cat
Файл создан

Добавление строки в начало файла
0 - нулевая строка, начало файла
a - вставить текст после строки с адресом
$ ed -s 123.txt
0a
Это начало файла:
.
wq
$ cat 123.txt
Это начало файла:
This is the cat
Файл создан

Добавление строки после строки содержащей выражение Файл создан.
Здесь строка А это конец файла будет добавлена после строки содержащей выражение Файл создан
Обратите внимание на команду 'a' после второго слэша:
$ sed -i '/Файл создан/a А это конец файла' 123.txt
$ cat 123.txt
Это начало файла:
This is the cat
Файл создан
А это конец файла

Этот же приём добавления строки в середину файла после строки содержащей выражение the cat, - выражение должно быть уникальным
$ sed -i '/the cat/a Это середина файла' 123.txt
$ cat 123.txt
Это начало файла:
This is the cat
Это середина файла
Файл создан
А это конец файла

Добавление в начало файла строки и удаление из файла второй строки:
$ ed -s 123.txt
0a
Это самое самое начало файла

wq
$ cat 123.txt
Это самое самое начало файла
Это начало файла:
This is the cat
Это середина файла
Файл создан
А это конец файла
$ sed -i '2d' 123.txt
$ cat 123.txt
Это самое самое начало файла
This is the cat
Это середина файла
Файл создан
А это конец файла

Вставка текста (not) в строку перед выражением the cat
$ sed -i 's/the cat/not &/' 123.txt
$ cat 123.txt
Это самое самое начало файла
This is not the cat
Это середина файла
Файл создан
А это конец файла

То же:
$ sed -i 's/This is/Строка 2: &/' 123.txt
$ cat 123.txt
Это самое самое начало файла
Строка 2: This is not the cat
Это середина файла
Файл создан
А это конец файла

Замена строки содержащей выражение the cat
$ sed -i 's/.*the cat.*/Это не кот/' 123.txt
$ cat 123.txt
Это самое самое начало файла
Это не кот
Это середина файла
Файл создан
А это конец файла

Удаление блока текста, со строки содержащей выражение, по строку содержащую выражение.
$ sed -i '/не кот/,/создан/d' 123.txt
$ cat 123.txt
Это самое самое начало файла
А это конец файла

Удаление со второй по четвёртую строку
$ cat -n 123.txt
     1 Это самое самое начало файла
     2 Это не кот
     3 Это середина файла
     4 Файл создан
     5 А это конец файла
$ sed -i '2,4d' 123.txt
$ cat 123.txt
Это самое самое начало файла
А это конец файла
« Последнее редактирование: 05.04.2017 02:22:35 от Speccyfighter »

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Прогноз погоды в консоли

https://github.com/chubin/awesome-console-services

$ rpm -qf $(which curl)
curl-7.53.1-alt1.S1.i586
$ curl wttr.in/Санкт+Петербург?lang=ru
Прогноз погоды: Санкт Петербург

      .-.      Небольшой дождь
     (   ).    3-5 °C         
    (___(__)   ← 7 km/h       
     ‘ ‘ ‘ ‘   7 km           
    ‘ ‘ ‘ ‘    2.1 mm         
                                                       ┌─────────────┐                                                       
┌──────────────────────────────┬───────────────────────┤ Сб. 29 апр. ├───────────────────────┬──────────────────────────────┐
│             Утро             │             День      └──────┬──────┘      Вечер            │             Ночь             │
├──────────────────────────────┼──────────────────────────────┼──────────────────────────────┼──────────────────────────────┤
│      .-.      Местами неболь…│      .-.      Небольшой дожд…│      .-.      Небольшой дожд…│  _`/"".-.     Местами слабая │
│     (   ).    -1-3 °C        │     (   ).    -1-3 °C        │     (   ).    3-6 °C         │   ,\_(   ).   3 °C           │
│    (___(__)   ↙ 17-37 km/h   │    (___(__)   ↙ 23-44 km/h   │    (___(__)   ← 25-35 km/h   │    /(___(__)  ↖ 16-32 km/h   │
│     ‘ ‘ ‘ ‘   17 km          │     ‘ ‘ ‘ ‘   13 km          │     ‘ ‘ ‘ ‘   4 km           │      ‘ ‘ ‘ ‘  4 km           │
│    ‘ ‘ ‘ ‘    1.0 mm | 100%  │    ‘ ‘ ‘ ‘    1.3 mm | 100%  │    ‘ ‘ ‘ ‘    3.3 mm | 81%   │     ‘ ‘ ‘ ‘   0.8 mm | 97%   │
└──────────────────────────────┴──────────────────────────────┴──────────────────────────────┴──────────────────────────────┘
                                                       ┌─────────────┐                                                       
┌──────────────────────────────┬───────────────────────┤ Вс. 30 апр. ├───────────────────────┬──────────────────────────────┐
│             Утро             │             День      └──────┬──────┘      Вечер            │             Ночь             │
├──────────────────────────────┼──────────────────────────────┼──────────────────────────────┼──────────────────────────────┤
│      .-.      Местами неболь…│  _`/"".-.     Местами дождь  │      .-.      Местами умерен…│     \   /     Ясно           │
│     (   ).    4-7 °C         │   ,\_(   ).   5-7 °C         │     (   ).    3-7 °C         │      .-.      2-5 °C         │
│    (___(__)   ↑ 19-23 km/h   │    /(___(__)  ↑ 18-20 km/h   │    (___(__)   ↗ 20 km/h      │   ― (   ) ―   → 15-23 km/h   │
│     ‘ ‘ ‘ ‘   9 km           │      ‘ ‘ ‘ ‘  9 km           │    * * * *    14 km          │      `-’      15 km          │
│    ‘ ‘ ‘ ‘    0.3 mm | 41%   │     ‘ ‘ ‘ ‘   0.7 mm | 90%   │   * * * *     0.2 mm | 72%   │     /   \     0.1 mm | 35%   │
└──────────────────────────────┴──────────────────────────────┴──────────────────────────────┴──────────────────────────────┘
                                                       ┌─────────────┐                                                       
┌──────────────────────────────┬───────────────────────┤  Пн. 01 мая ├───────────────────────┬──────────────────────────────┐
│             Утро             │             День      └──────┬──────┘      Вечер            │             Ночь             │
├──────────────────────────────┼──────────────────────────────┼──────────────────────────────┼──────────────────────────────┤
│      .-.      Небольшой дожд…│               Облачно        │     \   /     Солнечно       │     \   /     Ясно           │
│     (   ).    6 °C           │      .--.     8-9 °C         │      .-.      8 °C           │      .-.      4-5 °C         │
│    (___(__)   ↗ 6-15 km/h    │   .-(    ).   ↗ 10-15 km/h   │   ― (   ) ―   → 14-18 km/h   │   ― (   ) ―   → 8-18 km/h    │
│     ‘ ‘ ‘ ‘   20 km          │  (___.__)__)  19 km          │      `-’      16 km          │      `-’      17 km          │
│    ‘ ‘ ‘ ‘    0.8 mm | 60%   │               0.9 mm | 28%   │     /   \     0.0 mm | 0%    │     /   \     0.0 mm | 0%    │
└──────────────────────────────┴──────────────────────────────┴──────────────────────────────┴──────────────────────────────┘
Местоположение: Санкт-Петербург, Центральный район, Санкт-Петербург, Северо-Западный федеральный округ, 190000, РФ [59.9387318,30.3162286]

Попробуйте: названия мест на любом языке wttr.in/станция+Восток (в UTF-8) и поиск мест wttr.in/~Kilimanjaro (нужно добавить ~ спереди)
Все новые фичи публикуются здесь: @igor_chubin
$ curl wttr.in/~Saint+Petersburg,United+States?lang=ru
Прогноз погоды: Saint Petersburg,United States

    \  /       Переменная облачность
  _ /"".-.     31-34 °C       
    \_(   ).   ↖ 15 km/h     
    /(___(__)  16 km         
               0.0 mm         
                                                       ┌─────────────┐                                                       
┌──────────────────────────────┬───────────────────────┤ Сб. 29 апр. ├───────────────────────┬──────────────────────────────┐
│             Утро             │             День      └──────┬──────┘      Вечер            │             Ночь             │
├──────────────────────────────┼──────────────────────────────┼──────────────────────────────┼──────────────────────────────┤
│     \   /     Солнечно       │     \   /     Солнечно       │  _`/"".-.     Умеренный или …│     \   /     Ясно           │
│      .-.      26-28 °C       │      .-.      28-30 °C       │   ,\_(   ).   29-31 °C       │      .-.      27-29 °C       │
│   ― (   ) ―   ↖ 25-31 km/h   │   ― (   ) ―   ↖ 21-30 km/h   │    /(___(__)  ↖ 13-26 km/h   │   ― (   ) ―   ↖ 13-35 km/h   │
│      `-’      20 km          │      `-’      20 km          │    ‚‘‚‘‚‘‚‘   20 km          │      `-’      20 km          │
│     /   \     0.0 mm | 0%    │     /   \     0.0 mm | 0%    │    ‚’‚’‚’‚’   1.4 mm | 11%   │     /   \     2.9 mm | 25%   │
└──────────────────────────────┴──────────────────────────────┴──────────────────────────────┴──────────────────────────────┘
                                                       ┌─────────────┐                                                       
┌──────────────────────────────┬───────────────────────┤ Вс. 30 апр. ├───────────────────────┬──────────────────────────────┐
│             Утро             │             День      └──────┬──────┘      Вечер            │             Ночь             │
├──────────────────────────────┼──────────────────────────────┼──────────────────────────────┼──────────────────────────────┤
│    \  /       Переменная обл…│               Пасмурно       │    \  /       Переменная обл…│               Облачно        │
│  _ /"".-.     25-27 °C       │      .--.     27-29 °C       │  _ /"".-.     28-31 °C       │      .--.     27-29 °C       │
│    \_(   ).   ↖ 24-31 km/h   │   .-(    ).   ↖ 22-33 km/h   │    \_(   ).   ↑ 21-22 km/h   │   .-(    ).   ↑ 16-25 km/h   │
│    /(___(__)  19 km          │  (___.__)__)  20 km          │    /(___(__)  19 km          │  (___.__)__)  20 km          │
│               0.0 mm | 0%    │               0.0 mm | 0%    │               0.0 mm | 1%    │               0.0 mm | 0%    │
└──────────────────────────────┴──────────────────────────────┴──────────────────────────────┴──────────────────────────────┘
                                                       ┌─────────────┐                                                       
┌──────────────────────────────┬───────────────────────┤  Пн. 01 мая ├───────────────────────┬──────────────────────────────┐
│             Утро             │             День      └──────┬──────┘      Вечер            │             Ночь             │
├──────────────────────────────┼──────────────────────────────┼──────────────────────────────┼──────────────────────────────┤
│    \  /       Переменная обл…│     \   /     Солнечно       │     \   /     Солнечно       │     \   /     Ясно           │
│  _ /"".-.     23-24 °C       │      .-.      26-27 °C       │      .-.      26-27 °C       │      .-.      25-26 °C       │
│    \_(   ).   ↖ 22-30 km/h   │   ― (   ) ―   ↑ 21-31 km/h   │   ― (   ) ―   ↑ 22-29 km/h   │   ― (   ) ―   ↑ 23 km/h      │
│    /(___(__)  20 km          │      `-’      19 km          │      `-’      18 km          │      `-’      18 km          │
│               0.0 mm | 0%    │     /   \     0.0 mm | 0%    │     /   \     0.0 mm | 5%    │     /   \     0.0 mm | 10%   │
└──────────────────────────────┴──────────────────────────────┴──────────────────────────────┴──────────────────────────────┘
Местоположение: St. Petersburg, Pinellas County, Florida, United States of America [27.7703796,-82.6695084]

Попробуйте: названия мест на любом языке wttr.in/станция+Восток (в UTF-8) и поиск мест wttr.in/~Kilimanjaro (нужно добавить ~ спереди)
Все новые фичи публикуются здесь: @igor_chubin
$ curl wttr.in/:help
Usage:

    $ curl wttr.in          # current location
    $ curl wttr.in/muc      # weather in the Munic airport

Supported location types:

    /paris                  # city name
    /~Eiffel+tower          # any location
    /Москва                 # Unicode name of any location in any language
    /muc                    # airport code (3 letters)
    /@stackoverflow.com     # domain name
    /94107                  # area codes
    /-78.46,106.79          # GPS coordinates

Special locations:

    /moon                   # Moon phase (add ,+US or ,+France for these cities)
    /moon@2016-10-25        # Moon phase for the date (@2016-10-25)

Units:

    ?m                      # metric (SI) (used by default everywhere except US)
    ?u                      # USCS (used by default in US)
    ?M                      # show wind speed in m/s

View options:

    ?0                      # only current weather
    ?1                      # current weather + 1 day
    ?2                      # current weather + 2 days
    ?n                      # narrow version (only day and night)
    ?q                      # quiet version (no "Weather report" text)
    ?Q                      # superquiet version (no "Weather report", no city name)
    ?T                      # switch terminal sequences off (no colors)

PNG options:

    /paris.png              # generate a PNG file
    ?p                      # add frame arond the output
    ?t                      # transparency 150
    transparency=...        # transparency from 0 to 255 (255 = not transparent)

Options can be combined:

    /Paris?0pq
    /Paris?0pq&lang=fr
    /Paris_0pq.png          # in PNG the file mode are specified after _
    /Rome_0pq_lang=it.png   # long options are separated with underscore

Localization:

    $ curl fr.wttr.in/Paris
    $ curl wttr.in/paris?lang=fr
    $ curl -H "Accept-Language: fr" wttr.in/paris

Supported languages:

    az bg ca cs cy da de el eo es fi fr hi hr hu is it ja ko mk ml nl nn pt pl ro ru sk sl sr sr-lat sv tr uk uz vi zh (supported)
    et hy jv ka kk ky lt lv sw th zu bs be (in progress)

Special URLs:

    /:help                  # show this page
    /:bash.function         # show recommended bash function wttr()
    /:translation           # show the information about the translators


Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Как увидеть шары через thunar

p8/branch
Все последующие действия выполняются на самба-клиенте

Плагин
thunar-shares-plugin
должен быть установлен.

Получите права root
$ su -

Сервер samba должен быть установлен на клиенте, а сервисы smb и nmb должны быть запущены.
Вызовите на редактирование файл
/etc/samba/smb.conf

В секции
Global Settings
в подсекции
Network Related Options
после строк
   workgroup = WORKGROUP    <= Здесь имя рабочей группы
   server string = Samba Server Version %v

вставьте строку
   name resolve order = bcast host
и сохраните файл
/etc/samba/smb.conf

Перезапустите сервисы smb и nmb

smbtree отобразит самба-ресурсы в виде
$ smbtree
WORKGROUP
\\RESURS1         
\\RESURS2 Samba Server Version 4.6.3
\\RESUES2\IPC$            IPC Service (Samba Server Version 4.6.3)
\\RESURS3        Samba Server Version 4.3.11
\\RESURS3\IPC$            IPC Service (Samba Server Version 4.3.11)
\\RESURS3\multimedia      Video-Audio
\\RESURS3\homes         

При наличии thunar-shares-plugin, thunar в Browse Networkthunar левое окно внизу) отобразит рабочую группу, а в ней каталоги ресурсов, в которых будут видны шары.


Сообщение пользователя о проблеме:
https://forum.altlinux.org/index.php?topic=26238.msg311320#msg311320
Сообщение пользователя о то что проблема решена:
https://forum.altlinux.org/index.php?topic=26238.msg311728#msg311728


p9/branch

В thunar на p9/branch протокол smb поддерживается, но доступ к samba шарам через Обзор сети thunar сломан.

Решение:

Использовать в адресной строке thunar
smb://workgroup/
smb://workgroup/multimedia
smb://ip-address
smb://ip-address/multimedia

Обратите внимание на количество слэшей, после указанного протокола.
« Последнее редактирование: 04.03.2020 19:40:34 от Speccyfighter »

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Установка максимальной яркости дисплея ноутбука
Intel графика

Вариант I
$ xbacklight -set 100

Вариант II
(однострочная команда)
$ xrandr --output \
$(xrandr|grep ' connected '|awk '{printf $1}') \
--set Backlight \
$(grep . /sys/class/backlight/intel_backlight/max_brightness)
Как вариант:
$ xrandr --output \
 $(xrandr|grep ' connected '|awk '{printf $1}') \
 --set Backlight \
 $(xrandr --prop | grep Backlight -A1 | grep range | awk '{print $3}' | awk -F ')' '{print $1}')

Вариант III
gamma-коррекция
$ xrandr --output $(xrandr|grep ' connected '|awk '{printf $1}') --brightness 1.0

Вариант IV
# grep . /sys/class/backlight/intel_backlight/max_brightness
2749155
# echo 2749155 >/sys/class/backlight/intel_backlight/brightness

Вариант V
# setpci -s $(lspci|grep VGA|awk '{print $1}') F4.B=FF
FF - максимальная яркость; шестнадцатиричное число которое передаётся на pci-шину. Диапазон: 00-FF

Есть ещё один вариант, - аппаратный.
В старых ноутбуках, подобных ноутбуку HP Compaq nx6110, регулировка яркости дисплея реализована аппаратно. Это означает, что регулировка яркости не зависит от наличия загруженной операционной системы. Это может быть и FreeDOS. Или даже полное отсутствие любого накопителя в ноутбуке, - винчестера, флешки или оптического диска.


Более подробно о регулировке яркости дисплея ноутбука на форуме:
https://forum.altlinux.org/index.php?topic=37857.msg302599#msg302599
https://forum.altlinux.org/index.php?topic=35806.msg270364#msg270364
https://forum.altlinux.org/index.php?topic=33296.msg238303#msg238303
https://forum.altlinux.org/index.php?topic=33106.msg251677#msg251677
https://forum.altlinux.org/index.php?topic=34428.msg257036#msg257036
https://forum.altlinux.org/index.php?topic=35895.msg270698#msg270698
https://forum.altlinux.org/index.php?topic=37824.msg303126#msg303126
https://forum.altlinux.org/index.php?topic=35895.msg271703#msg271703
« Последнее редактирование: 18.11.2021 18:54:38 от Speccyfighter »

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Пара однострочников

Список sysvinit скриптов в порядке очерёдности старта на пятом уровне:
$ ls -l $(ls -1 /etc/rc.d/rc5.d/S*|sort)|awk -F '/' '{print $7}'
brightness
sysstat
udevd
x11presetdrv
livecd-net-eth
acpid
messagebus
ModemManager
bluetoothd
NetworkManager
random
syslog-ng
udevd-final
fbsetfont
sysfs
keytable
gpm
crond
ntpd
dm
autofs
avahi-daemon
xinetd
osspd
nmb
smb
alteratord
local
plymouth


Скрипт выдаёт в течение одной минуты каждые пять секунд, температуру и частоту процессора
$ cat temp-freq.sh
i=0
while [ $i -lt 12 ]
   do
      acpi -t | grep 3: | awk '{print $4, $6}' && \
      grep MHz /proc/cpuinfo|awk '{print $4, $2}' && \
      sleep  5
      i=`expr $i + 1`
done

Пример работы скрипта:
$ sh temp-freq.sh
48.0 C
1600.000 MHz
49.0 C
1600.000 MHz
...

sleep задаёт паузу в секундах между выводами, - в данном примере 5 секунд.
12 в выражении [ $i -lt 12 ] -- количество циклов вывода.
5 (секунд) x 12 (циклов) = 60 секунд = 1 минута -- длительность теста

Строка
acpi -t | grep 3: | awk '{print $4, $6}'
парсит температуру процессора (применительно к ядрам 4.x.y) в ноутбуке HP Compaq nx6110, на котором sensors не работает. При ядрах 3.14.x на nx6110 нужно grep-ать не Thermal 3: , а Thermal 0:
Если sensors у вас работает, адаптируйте эту строку под собственные нужды.

Абсолютно то же, но однострочник:
$ cat temp-freq-onestring.sh
i=0; \
while [ $i -lt 12 ]; \
    do acpi -t | grep 3: | awk '{print $4, $6}' && \
grep MHz /proc/cpuinfo|awk '{print $4, $2}' && \
sleep  5; \
i=`expr $i + 1`; \
done


Для случая с sensors
(два ядра)
$ sensors
coretemp-isa-0000
Adapter: ISA adapter
Physical id 0:  +36.0°C  (high = +105.0°C, crit = +105.0°C)
Core 0:         +34.0°C  (high = +105.0°C, crit = +105.0°C)
Core 1:         +35.0°C  (high = +105.0°C, crit = +105.0°C)
(четыре потока - два потока на ядро)
$ grep MHz /proc/cpuinfo
cpu MHz         : 1166.093
cpu MHz         : 1900.000
cpu MHz         : 1796.328
cpu MHz         : 1899.375

скрипт может быть например таким
$ cat temp-freq-sensors.sh
i=0
while [ $i -lt 12 ]
   do
      sensors | grep Core | awk '{print $1, $2, $3}' && \
      grep MHz /proc/cpuinfo|awk '{print $4, $2}'; echo && \
      sleep  5
      i=`expr $i + 1`
done

Вывод температура-частота можно перенаправить в файл.

Если скрипт будет таким, то тест будет бесконечным по времени
$ cat temp-freq-sensors-unlimit-time.sh
i=0
while [ 1 ]
   do
      sensors | grep Core | awk '{print $1, $2, $3}' && \
      grep MHz /proc/cpuinfo|awk '{print $4, $2}'; echo && \
      sleep  5
done
Прерывание теста по Ctrl+c


Как вариант
скрипт-анализатор:
в течение двух минут каждые 5 секунд (24*5=120сек) выводит частоту процессора, температуру процессора, процесс наиболее нагрузивший процессор
$ cat temp-freq-analyzer-r.sh
i=0
while [ $i -lt 24 ]
   do
      grep MHz /proc/cpuinfo|awk '{print $4, $2}'
      acpi -t | grep 3: | awk '{print $4, $6}'
      ps -eo pcpu,args|grep -v CPU|sort -n -r|head -n 1
      echo
      sleep  5
      i=`expr $i + 1`
done
Если использовать бесконечный цикл с перенаправлением вывода в файл, можно сделать анализ за длительный период без постоянного персонального контроля.


Любой из вариантов скрипта может пригодиться при анализе терморежимов и загруженности процессора, например при оптимизации настроек операционной системы.
« Последнее редактирование: 28.06.2017 04:15:50 от Speccyfighter »

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 246
  • Учиться .... Телепатами не рождаются, ими ....
    • Email
Скрипт выдаёт в течение одной минуты каждые пять секунд, температуру и частоту процессора
Не проще через watch ?

cat путь/temp-freq.sh

#!/bin/sh

acpi -t | grep 3: | awk '{print $4, $6}' &&   grep MHz /proc/cpuinfo|awk '{print $4, $2}'

Делаем скрипт исполняемым
chmod a+x путь/temp-freq.sh
watch -d  путь/temp-freq.sh
« Последнее редактирование: 27.06.2017 07:56:01 от ruslandh »