Учебники (How-To & F.A.Q)

Обход ограничений провайдера на закачку торрентов ( МТС тариф Для ноутбука, и подобных других операторов)

кто использует 3g или 4g модем для интернета, сталкиваются с тем что операторы режут скорость на торентах.
например у меня тариф
Учебники (How-To & F.A.Q): Обход ограничений провайдера на закачку торрентов  ( МТС тариф Для ноутбука, ни подобных других операторов)

так вот, о чём это я… а, захотел как то скачать фильм через торент и обломался, безбожно низкая скорость
можно конечно использовать vpn ( блага есть халявные ещё), но можно и следующим образом:

показываю на примере программы Ktorrent

1.
нужно установить tor
sudo pacman -S tor


2.
sudo nano /etc/tor/torrc 
и в конце вставляем
SOCKSPort 9050 CacheDNS UseDNSCache
SOCKSPolicy accept private:*,reject *:*

HeartbeatPeriod 1 hours

ExcludeExitNodes {ru},{ua},{by},{kz},{??}
StrictNodes 1

TrackHostExits rutracker.org,rutracker.news,rutracker.wiki,bt.rutracker.cc,bt2.rutracker.cc,bt3.rutracker.cc,bt4.rutracker.cc,bt.t-ru.org,bt2.t-ru.org,bt3.t-ru.org,bt4.t-ru.org


Сохраняем и перезапускаем Tor:
sudo systemctl restart tor


3.

запускает Ktorrent и идём в настройки, приводим к такому виду

Учебники (How-To & F.A.Q): Обход ограничений провайдера на закачку торрентов  ( МТС тариф Для ноутбука, ни подобных других операторов)

Учебники (How-To & F.A.Q): Обход ограничений провайдера на закачку торрентов  ( МТС тариф Для ноутбука, ни подобных других операторов)

Учебники (How-To & F.A.Q): Обход ограничений провайдера на закачку торрентов  ( МТС тариф Для ноутбука, ни подобных других операторов)

вот и всё… В итоге скорость загрузке возрастает до нормальной :)
Софт

Наболевшее, установка .deb \ .rpm

Для работы нужна электронная подпись. Ключ — USB флешка. Для подписания документов нужна программа КриптоПро CSP 4.0 R3 — она есть в deb и rpm. В АУРЕ нет. Точно нет. Да искал. Нет не нашел.
Суть проблемы — скачал программу, формат linux-ia32_deb.tgz Софт: Наболевшее, установка .deb \ .rpm, собственно как я понял архив. Распаковываем, и видим кучу .deb пакетов и файл install.sh Софт: Наболевшее, установка .deb \ .rpm

Открываем install.sh и видим, то ли лицензию, то ли предупреждение и, как я понял (честно — не понял) инструкцию на исполнение установки, или как это называется
install.sh
COMPAT_VERSION=«1.0.0-1»
VERSION=«4.0.*-5»
PACKAGE_NAMES=""
FROM_REPO=0

# Exit codes.
SUCCESS=0
FAILURE=1
PACKAGES_NOT_AVAILABLE=2

parse_args() {
_enclosure=«kc1»
while! [ -z "$1" ]; do
case "$1" in
«kc1»)
;;
«kc2»)
_enclosure=«kc2»
;;
"--from-repo")
FROM_REPO=1
;;
"-help"|"--help")
show_help
exit "${SUCCESS}"
;;
*)
_additional_packages="$*"
break
;;
esac
shift
done
PACKAGE_NAMES=«lsb-cprocsp-base \
lsb-cprocsp-rdr lsb-cprocsp-${_enclosure} lsb-cprocsp-capilite cprocsp-curl \
lsb-cprocsp-ca-certs \
${_additional_packages}»
}

show_help() {
echo "\
usage: ./install.sh [kc1|kc2] [package [...]]
kc1: install kc1 packages (by default)
kc2: install kc2 packages
[package [...]]: list of additional packages"
}

which_architecture() {
machine_architecture="$(uname -m)"
case "${machine_architecture}" in
«x86_64»|«amd64»|«ppc64»|«ppc64le»)
bits_postfix="-64"
;;
*)
bits_postfix=""
;;
esac
case "${machine_architecture}" in
arm*)
is_arm=1
;;
*)
is_arm=0
;;
esac
}

check_if_debian_system() {
if [ -f /etc/debian_version ] ||
grep Ubuntu /etc/lsb-release > /dev/null 2>&1
then
is_debian_system=1
else
is_debian_system=0
fi
}

check_release_attributes() {
if ls ./lsb-cprocsp-base*.deb > /dev/null 2>&1; then
is_debian_release=1
else
is_debian_release=0
fi
if ls ./lsb-cprocsp-base*.rpm > /dev/null 2>&1; then
is_rpm_release=1
else
is_rpm_release=0
fi
if ls ./lsb-cprocsp-rdr-64* > /dev/null 2>&1; then
is_64_release=1
else
is_64_release=0
fi
}

# Use dpkg or alien on debian systems, otherwise use rpm.
set_inst_cmd() {
if [ "${is_debian_system}" -eq 1 ]; then
if [ "${is_debian_release}" -eq 1 ]; then
inst_cmd=«dpkg -i»
else
inst_cmd=«alien -kci»
fi
else
if [ "${is_rpm_release}" -eq 1 ]; then
inst_cmd=«rpm -i»
else
echo «Error: you are trying to install debian packages on not debian package system»
exit "${FAILURE}"
fi
fi
}

# The release variables are used to construct full names of packages.
set_release_variables() {
if [ "${is_debian_system}" -eq 1 ] &&
[ "${is_debian_release}" -eq 1 ]
then
first_delimeter="_"
noarch=«all»
second_delimeter="_"
extension=".deb"
else
first_delimeter="-"
noarch=«noarch»
second_delimeter="."
extension=".rpm"
fi
case "${machine_architecture}" in
# Enforce to install 64-bit packages on 64-bit system.
«x86_64»|«amd64»)
if [ "${is_debian_system}" -eq 1 ] &&
[ "${is_debian_release}" -eq 1 ]
then
arch=«amd64»
else
arch=«x86_64»
fi
;;
«ppc64»|«ppc64le»)
arch="${machine_architecture}"
;;
arm*|«mips»)
arch="${noarch}"
;;
*)
if [ "${is_debian_system}" -eq 1 ] &&
[ "${is_debian_release}" -eq 1 ]
then
arch=«i386»
elif ls ./*.i686.rpm > /dev/null 2>&1; then
arch=«i686»
else
arch=«i486»
fi
;;
esac
}

lsb_warning() {
echo «Warning: lsb-core or lsb-compat package not installed — installing cprocsp-compat-debian.
If you prefer to install system lsb-core or lsb-compat package then
* uninstall CryptoPro CSP
* install lsb-core or lsb-compat manually
* install CryptoPro CSP again
»
}

construct_compat_package() {
if [ -f /etc/cp-release ]; then
if grep Gaia /etc/cp-release > /dev/null 2>&1; then
_distr=«gaia»
else
_distr=«splat»
fi
elif [ -f /etc/altlinux-release ]; then
_distr=«altlinux${bits_postfix}»
elif [ -f /etc/os-rt-release ]; then
_distr=«osrt${bits_postfix}»
elif [ "${is_arm}" -eq 1 ]; then
_distr=«armhf»
elif [ "${is_debian_system}" -eq 1 ]; then
if dpkg -s lsb-core > /dev/null 2>&1 ||
dpkg -s lsb-compat > /dev/null 2>&1
then
compat_package=""
return
else
lsb_warning
_distr=«debian»
fi
else
compat_package=""
return
fi
compat_package=«cprocsp-compat-\
${_distr}\
${first_delimeter}\
${COMPAT_VERSION}\
${second_delimeter}\
${noarch}\
${extension}»
}

construct_other_packages() {
other_packages=""
_absent=""
for _name in ${PACKAGE_NAMES}; do
_package="${_name}"
if [ "${is_64_release}" -eq 1 ]; then
_package="${_package}${bits_postfix}"
fi
_package="${_package}\
${first_delimeter}\
${VERSION}\
${second_delimeter}\
${arch}\
${extension}"
# There are several packages which are NOT architecture-specific,
# e.g. lsb-cprocsp-base, lsb-cprocsp-ca-certs and devel-packages.
# If the architecture-specific package is not found, try to install
# the noarch package.
# shellcheck disable=SC2086
if! [ -f ${_package} ]; then
_package="${_name}\
${first_delimeter}\
${VERSION}\
${second_delimeter}\
${noarch}\
${extension}"
fi
# Even the noarch package wasn't found.
# shellcheck disable=SC2086
if! [ -f ${_package} ]; then
_absent="${_absent} ${_name}"
else
other_packages="${other_packages} ${_package}"
fi
done
if! [ -z "${_absent}" ]; then
echo «Error: the following packages are not available in the current directory:»
echo "${_absent}" | xargs -n1 echo "*"
exit "${PACKAGES_NOT_AVAILABLE}"
fi
}

construct_list_of_packages() {
packages=""
construct_compat_package
packages="${packages} ${compat_package}"
# Other packages are the base packages and additional packages
# specified by command-line arguments.
construct_other_packages
packages="${packages} ${other_packages}"
# Remove duplicate packages.
packages="$(
echo "${packages}" \
| awk '{for(i=1;i<=NF;i++)if(!a[$i]++)print $i}' | xargs
)"
}

check_fail() {
echo «Error: installation failed. LSB package may not be installed.
Install LSB package and reinstall CryptoPro CSP. If it does not help, please
read installation documentation or contact the manufacturer: support@cryptopro.ru.»
exit "$1"
}

# Install packages one at a time before capilite, then batch install.
install_packages() {
while! [ -z "${packages}" ]; do
_head="$(echo "${packages}" | awk '{print $1}')"
_tail="$(echo "${packages}" | awk '{for(i=2;i<=NF;i++)print $i}' | xargs)"
echo «Installing ${_head}...» >&2
# shellcheck disable=SC2086
${inst_cmd} ${_head} >&2 || check_fail "$?"
if echo "${_head}" | grep capilite > /dev/null 2>&1 &&
! [ -z "${_tail}" ]
then
echo «Installing ${_tail}...» >&2
# shellcheck disable=SC2086
${inst_cmd} ${_tail} >&2 || check_fail "$?"
return
fi
packages="${_tail}"
done
}

construct_list_of_packages_from_repository() {
_tmp_repo="$(mktemp)"
# Если файл со списком пакетов в репозитории существует и единственный, то скопировать его во временный файл _tmp_repo.
# shellcheck disable=SC2144
if [ -f /var/lib/apt/lists/cryptopro.ru_debrepo_dists_*-unstable_main_binary-*_Packages* ]; then
cp /var/lib/apt/lists/cryptopro.ru_debrepo_dists_*-unstable_main_binary-*_Packages* "${_tmp_repo}"
fi
# Если lz-архив со списком пакетов в репозитории существует и единственный, то разархивировать его во временный файл _tmp_repo.
# shellcheck disable=SC2144
if [ -f /var/lib/apt/lists/cryptopro.ru_debrepo_dists_*-unstable_main_binary-*_Packages*.lz ]; then
lzip -d -c /var/lib/apt/lists/cryptopro.ru_debrepo_dists_*-unstable_main_binary-*_Packages*.lz > "${_tmp_repo}"
fi
packages=""
_absent=""
for _name in ${PACKAGE_NAMES}; do
_package="${_name}${bits_postfix}"
if! grep 'Package:' "${_tmp_repo}" | grep "${_package}" > /dev/null 2>&1
then
_package="${_name}"
fi
if! grep 'Package:' "${_tmp_repo}" | grep "${_package}" > /dev/null 2>&1
then
_absent="${_absent} ${_name}"
else
packages="${packages} ${_package}"
fi
done
rm -f "${_tmp_repo}"
if! [ -z "${_absent}" ]; then
echo «Error: the following packages are not available in the current repository:»
echo "${_absent}" | xargs -n1 echo "*"
exit "${PACKAGES_NOT_AVAILABLE}"
fi
# Remove duplicate packages.
packages="$(
echo "${packages}" \
| awk '{for(i=1;i<=NF;i++)if(!a[$i]++)print $i}' | xargs
)"
}

main() {
if [ "$(id -u)" -ne 0 ]; then
echo «Error: this script must be run as root»
exit "${FAILURE}"
fi
cd "$(dirname "$0")" || check_fail "$?"
parse_args "$@"
which_architecture
if [ "${FROM_REPO}" -eq 1 ]; then
construct_list_of_packages_from_repository
sh ./uninstall.sh >&2 || check_fail "$?"
# shellcheck disable=SC2086
apt-get --yes install ${packages} >&2 || check_fail "$?"
echo «CSP packages have been successfully installed from a repository»
exit "${SUCCESS}"
fi
check_if_debian_system
check_release_attributes
set_inst_cmd
set_release_variables
construct_list_of_packages
sh ./uninstall.sh >&2 || check_fail "$?"
install_packages
echo «CSP packages have been successfully installed»
exit "${SUCCESS}"
}

main "$@"
.
И собственно вопрос, как мне из всего этого собрать пакет для установки программы?
Manjaro KDE Edition

Caffeine Plus в KDE

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

Для установки Caffeine-plus в терминале выполните следующую команду:
pikaur -S plasma5-applets-caffeine-plus


Затем добавьте виджет (на рабочий стол или в панель задач) и активируйте необходимые функции.
Приятного прослушивания, просмотра и т.д. и т.п.)
Оформление и Скриншоты

Manjaro kde

Manjaro kde, стоит на тестовой машинке. Оформление рабочей среды numix, иконки orange-maia, аппетит примерно 700-800 метров, заметно меньше гномовского кстати. Шрифты noto sans. Ядро 4.17.3-1. Очень приятственный дистрибутив, работает быстро, kde (о ужас))) стабильное и не падает)))
Софт

AzPainter - минималистичный и быстрый графический редактор

AzPainter — странный, быстрый и минималистичный японский графический редактор. Очень-очень очень быстрый и нашпигованный функциями для рисования, занимающий в памяти всего лишь несколько мегабайт. Интерфейс весьма специфичен, но кто привык к GIMP, тот осилит и это творение.
Новости

[СТАБИЛЬНОЕ ОБНОВЛЕНИЕ] 2018-04-14 - ЯДРА, GNOME 3.28.1, LIBREOFFICE, БРАУЗЕРЫ, MESA, DEEPIN, MATE

Новости: Manjaro KDE Edition: [СТАБИЛЬНОЕ ОБНОВЛЕНИЕ] 2017-11-12 – ЯДРА, PLASMA5, DEEPIN, CINNAMON, ЗАВЕРШЕНИЕ ПОДДЕРЖКИ 32-БИТНОЙ ВЕРСИИВышло очередное стабильное обновление Manjaro. На его подготовку потребовалось немного больше времени, чем обычно, чтобы полностью протестировать все изменения.

Главным образом работа коснулась GNOME 3.28, ставшего результатом полугодовой работы команды разработчиков GNOME. Результатом стали новые функции, а также множество более мелких улучшений и исправлений.
Читать дальше
Ядро & Оборудование

Жара в Морровинде, или Квест про кулер на Nvidia.

Захотелось мне тряхнуть стариной - погонять в теплый ламповый Morrowind.
Торрент, исошник, плейонлинукс, сетап.екзе, далее-далее-далее, лончер-опции-1280х960-игра, чтотонетак, winecfg, повторить лончер-опции… Короче, встал Morrowind. «Новая игра». Тыц. Заставка, мутный ролик про меня, Избранного Спасти Мир. Ну, поехали…
Джиуб, еще не святой. "-Говорят, мы уже приплыли в Морровинд. Нас выпустят, это точно! Тихо, стражник идёт..."
…… ээээ, чёзанах! Черный экран, монитор мигает лампочой- «нет сигнала». Из колонок по прежнему музыка Джереми Соула и шаги охранника. «Мы прибыли туда, где Вас выпустят. Следуйте за мной.»
А… куда следовать-то? Экран потух, выйти из игры клавишами не выходит, горячие клавиши иксов в вайне не срабатывают… «Ну и чо??? Выпустите меня! ВолкИ позорные! Свободу Нереварину!!!»
Не выпускают. Даже ведьмачий знак АльтКонтрДел бесполезен. Ну что ж, резет.

И так каждый раз, раньше или позже. В логе отладки ничего внятного нет.
Наконец замечаю что при работающей игре подозрительно громко шумит какой-то кулер в системнике. Смотрю на датчики вентиляторов проца и корпуса- нормально. Игра меж тем в очередной раз вылетает, Перезагружаюсь, сразу запускаю nvidia-settings (то что в меню называется «NVIDIA X Server Settings»), гляжу на «Thermal Settings»… Вот оно! Обороты кулера и температура чипа весьма высоки, хотя постепенно падают. Похоже, видеокарта отключается от перегрева. Ну да, Морровинд- место жаркое. Все же на вулкане живем, это вам не Скайрим…
Запускаю игру, температура видеочипа стремительно прыгает вверх, а кулер разгоняется неспешно, явно не успевая охладить чип. На отметке 96С градусов срабатывает защита и видеокарта опять отключается.
Достаю системник, берусь за отвертку. Ну, я так и предполагал… Видеокарта стоит радиатором вниз, крепление радиатора- с пружинками. Радиатор от видеочипа отвалился и болтается на ослабевших пружинках винтов крепления. Термопаста высохла. Кулер-то крутится, а толку чуть.
Вытряхиваю из корпуса пыль- давно пора, лет пять как не заглядывал… Снимаю видеокарту. Разбираю, меняю термопасту, подтягиваю винты радиатора, фиксирую локтейтом. Собираю обратно.
Запускаю комп. О, как всё изменилось- в холостом режиме nvidia-settings показывает тнмпературу 30-35 градусов, обороты кулера — ровно 30%. С игрой- около 60-70С и кулер 80%. А если нагрузить? Запускаю
gputest /test=pixmark_volplosion, температура медленно растет до 84С, кулер быстрее 80 не разгоняется.
Хорошо! А если выключить нагрузку? Температура быстро снижается до 60С, потом кулер с 80% переходит сразу на 30%, скорость падения температуры снижается, и за пару минут опускается до 35С. Снова запускаю gputest, вижу такую картину: температура возрастает быстро и линейно при постоянных оборотах кулера в 30% вплоть до 60С. Потом кулер скачком разгоняется до 80%, рост температуры замедляется, но всё-же через минуту температура доходит до 84С. И всё стабилизируется. 84С температура и 80% обороты кулера. Дальше не растёт, даже если добавить нагрузки запустив несколько штук gputest.
Отлично!

Но…

Мне не очень нравится как кулер видеокарты автоматически выбирает обороты. Конечно, при приближении к опасным температурным значениям он разгоняется и свою работу делает, но в Морровинд играть мешает- температура в игре гуляет как раз около порога его режимов, и кулер постоянно переключается с тихого режима на высокоскоростной. Стоишь спокойно- тишина. Побежал, подпрыгивая или кастанул фаербол в скального наездника- кулер взвыл. Убил гада- через несколько секунд кулер снова затих, переключившись в медленный режим. В общем, основную музыкальную тему я слышу нормально, а боевую музыку- с аккомпанементом завывающего кулера. Отвлекает. Уж лучше бы он постоянно выл, что-ли…

А что, можно и так. Только вот в nvidia-settings опция ручного управления оборотами кулера по дефолту заблокирована. Что ж, начинается акробатика с кульбитами. А ну-ка…

Создаю файлик /etc/X11/xorg.conf.d/30-nvidia.conf


Section "Device"
    Identifier "Device 0"
    Driver     "nvidia"
    VendorName "NVIDIA Corporation"
    BoardName  "IDENTIFIER FOR YOUR GPU"
    Option     "Coolbits" "4"
EndSection


Перегружаюсь, смотрю в nvidia-settings- порядок, кульбит сработал. На вкладке «Thermal Settings» появилась возможность ручного регулирования оборотов кулера. Это хорошо, но вдруг где-то под Гнисисом налетят на меня штук пять скальных наездников, парочка гончих и компания бандитов-ашлендеров? Или запущу игру, а выставить повышенные обороты в nvidia-settings тупо забуду? Температура поднимется, а кулер на постоянных оборотах может и не справится. Как-бы видяху не сжечь… В NVIDIA дураков мало, не зря они эту опцию заблокировали!
Можно, конечно, кинуть в автозагрузку скрипт с командой

"nvidia-settings -a [gpu:0]/GPUFanControlState=1 -a [fan:0]/GPUCurrentFanSpeed=80"

чтобы включить эту опцию и выставить обороты кулера в 80%…
Но это решит лишь половину задачи. Есть ведь и обратный вариант: не всегда же мне играть хочется. А даже если хочется- выйду я на минутку из игры, отвлекусь часа на три- а кулер так и будет вхолостую воздух молотить? Нет, автоматизация нужна не половинчатая, а именно полная.

Хорошо что в АУРе есть такая утилитка- nvfancontrol. Правда чтобы работала ее еще настраивать нужно. Что-ж делать, придется заморочиться.

yaourt -S nvfancontrol

при установке ругается на ключ, но тут всё как обычно, поможет

gpg --recv-keys 44EB0D4FC6E01280

Сперва посмотрим справку, там все просто:


$ nvfancontrol -h
Usage: nvfancontrol [options]

Options:
    -d, --debug         Enable debug messages
    -l, --limits LOWER,UPPER
                        Comma separated lower and upper limits, use 0 to
                        disable, default: 20,80
    -f, --force         Always use the custom curve even if the fan is already
                        spinning in auto mode
    -m, --monitor-only  Do not update the fan speed and control mode; just log
                        temperatures and fan speeds
    -j, --json-output   Print a json representation of the data to stdout
                        (useful for parsing)
    -t, --tcp-server [PORT]
                        Print a json representation of the data over a tcp
                        port. Can be optionally followed by the port number
                        over which the server will listen for incoming
                        connections
    -h, --help          Print this help message


Можно запустить его как обычную команду в debug-режиме и посмотреть как он работает


$ nvfancontrol -d
WARN - No config file found; using default curve
DEBUG - Curve points: [(41, 20), (49, 30), (57, 45), (66, 55), (75, 63), (78, 72), (80, 80)]
INFO - NVIDIA driver version: 390.42
INFO - NVIDIA graphics adapter #1: GeForce GTX 550 Ti
DEBUG - Fan is enabled on auto control; doing nothing
DEBUG - Temp: 34; Speed: 1440 RPM (30%); Load: 2%; Mode: Auto


Всё здорово, но стандартная шкала «температура-обороты» несколько странная, и лучше все-же создать свой конфигурационный файл ~/.config/nvfancontrol.conf Например, такой:


30    30
40    40
50    50
60    60
70    70
80    80
85    90
90    100


Проверим.


$ nvfancontrol -d
DEBUG - Curve points: [(30, 30), (40, 40), (50, 50), (60, 60), (70, 70), (80, 80), (85, 90), (90, 100)]
INFO - NVIDIA driver version: 390.42
INFO - NVIDIA graphics adapter #1: GeForce GTX 550 Ti
DEBUG - Fan is enabled on auto control; doing nothing
DEBUG - Temp: 34; Speed: 1440 RPM (34%); Load: 1%; Mode: Auto


Вот, теперь шкала более внятная.

Проверим в деле. В окошке терминала запустим nvfancontrol -fd и оставим работать.
Запустим nvidia-settings. Опция «Enable GPU Fan Settings» должна включиться автоматически, за это отвечает ключ -f. Теперь запустим gputest /test=pixmark_volplosion и посмотрим как работает кулер под нагрузкой. Смотреть можно и в терминальном окне с запущенным nvfancontrol, и в nvidia-settings. Но в nvidia-settings будет гораздо нагляднее. Обороты кулера должны изменяться в соответствии с нашей шкалой, ползунок «Fan 0 speed» — будучи передвинут куда-либо вручную должен отскакивать обратно, снятая вручную галочка «Enable GPU Fan Settings» — восстанавливаться.

У меня так оно и заработало. Правда, полностью протестировать всю шкалу не удалось- со свежей термопастой и вычищенным от пыли радиатором карта напрочь отказывалась греться выше 84С под любой нагрузкой. Ну и ладно, будет запас на будущее.

До полной автоматизации осталось всего пара шагов. Нужно всё зафиксировать и запустить. И лучше не просто так, а в виде сервиса.
Тут тоже тонкости. Сам nvfancontrol использует библиотеку xnvctrl, а она без запущенных иксов не работает. Значит, запускать сервис нужно после запуска иксов, а иксы запускаются от пользователя. Хорошо что сервис можно запустить и так, это в общем не сложнее чем стартовать обыкновенный системный сервис.

В каталоге ~/.config/systemd/user создадим новый юнит- текстовый файл с именем nvfancontrol.service


[Unit]
Description="NVIDIA Dynamic fan control"
After=graphical.target

[Service]
Type=simple
ExecStart=/usr/bin/nvfancontrol -f

[Install]
WantedBy=default.target


Потом в терминале стартуем его


systemctl --user enable nvfancontrol.service
systemctl --user daemon-reload
systemctl --user start nvfancontrol.service

и проверим запустился ли он

[mmk@tal02 ~]$ systemctl --user status nvfancontrol.service
● nvfancontrol.service - "NVIDIA Dynamic fan control"
   Loaded: loaded (/home/mmk/.config/systemd/user/nvfancontrol.service; enabled; vendor preset: enabled)
   Active: active (running) since Th 2018-04-12 18:38:29 MSK; 1h 18min ago
 Main PID: 1090 (nvfancontrol)
   CGroup: /user.slice/user-1000.slice/user@1000.service/nvfancontrol.service
           └─1090 /usr/bin/nvfancontrol -f

апр 12 18:38:29 tal02 systemd[954]: Started "NVIDIA Dynamic fan control".
апр 12 18:38:29 tal02 nvfancontrol[1090]: INFO - NVIDIA driver version: 390.42
апр 12 18:38:29 tal02 nvfancontrol[1090]: INFO - NVIDIA graphics adapter #1: GeForce GTX 550 Ti


Ага, запустился. В «Диспетчере задач» должен появиться новый процесс с именем "nvfancontrol -f"

Но такой сервис сам собою не стартует, поэтому еще потребуется кинуть в автозагрузку команду
systemctl --user start nvfancontrol.service или скрипт с этой командой, зависит от окружения.

Перезагрузимся. Заглянем в nvidia-settings. Всё должно работать так как работало когда мы запускали nvfancontrol -fd вручную.

Всё, теперь автоматизация полная, кулер работает именно так как я и хотел- плавно поднимает обороты вслед за растущей температурой и так же плавно их опускает при снижении нагрузки на видеочип. Примерно до 50% его абсолютно не слышно, далее шум плавно нарастает и при снижении нагрузки так-же плавно стихает, резких рывков уровня шума больше нету, и я уверен что при тяжелых моментах в игре кулер сделает все что сможет, но аварийных вылетов графики по перегреву не допустит. И в то же время при работе компьютера в обычном режиме кулера видеокарты совершенно не слышно.
Красота!

Результатом я вполне доволен- уже дошел до Вивека. Я, блин, стану лордом Нереварином и главой всех гильдий, и никакие кулеры меня не остановят! И пусть ординаторы следят за мной и обзывают «ничтожеством» — я еще сочиню специально для них заклинание вроде ФузРоДаха! А этот бешеный чупачупс ДаготУр непременно получит напророченных ему грандиознейших люлей! И не раз, а дважды. Во имя Азуры, королевы Заката и Рассвета!
Софт

Генератор / редактор тем оформления для GTK+2/3 и др.

Вышел Oomox-1.6, довольно продвинутый редактор цветовых схем и стилей оформления рабочей среды.
Неплохо дополняет и расширяет штатные возможности оформления многих (особенно легковесных) оболочек.

Софт: Генератор / редактор тем оформления для GTK+2/3 и др.