61

Сделать список уже установленных программ и опять установить из него. Полезно при переустановке системы.

sudo dpkg --get-selections > software
sudo dpkg --get-selections < pkglist

Просто Linux - Просто и понятно о Linux, SEO и WEB.

62

Vascom⇓ пишет:

А где в этой команде задаётся какой именно файл конвертировать?

Уже подправил ))

63

prostolinux пишет:

Сделать список уже установленных программ и опять установить из него. Полезно при переустановке системы.

sudo dpkg --get-selections > software
sudo dpkg --get-selections < pkglist

Любой линуксоид-дебианщик из man dpkg это знает, не будьте КО ab

Истинный hotplug - это обычная электрическая розетка: воткнул - работает, и никаких драйверов.
Slackware64-current/Xfce/Lenovo G580

64

Создание initrd файла с помощью утилиты cpio

По мотивам темы тыц

Если бы тему не закрыли написал бы там.

Если просмотреть вывод в консоли, то становится видно, что команда cpio -o -H newc в конце файла выводит количество скопированных блоков, в результате чего, ядро не может работать с файлом виртуальной файловой системы initrd, ключик --quiet решает эту проблему.

И того конечная команда будет такой.

# find .|cpio --quiet -o -H newc|gzip -f -9 >путь/initrd

65

Обнуление файла с сохранением его прав:

:>myfile

66 (18.02.2015 18:34:10 отредактировано Bish)

Что делать если Linux "завис"...

Нажмите и удерживайте Ctrl+Alt+PrtSc (PrtSc — это клавиша «принт-скрин» для снятия
скриншотов с экрана). Удерживая эти три клавиши, наберите на клавиатуре: REISUB (эти буквы не
удерживаются, а просто набираются по типу «нажал — отпустил»). После данной операции система уйдет в ребут. Проверено на Debian Wheezy!
Можете проверить немедля, это безопасная перезагрузка.


//обсуждение здесь: Hotkeys в различных DE
diablopc

67

Bish пишет:

Что делать если Linux "завис"...

обычно линукс НЕ зависает.

Посему, следует перейти в другую консоль CTRL+ALT+F2, там посмотреть top/htop и там же вырубить то, что повисло.

ещё  есть https://ru.wikipedia.org/wiki/SysRq но оно не нужно (мне на практике не нужно, вы конечно можете поиграть, ваша право. Я как-то эти коды написал на бумажке, мне эта бумажка больше года не понадобилась, а потом куда-то завалилась)

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

68 (19.02.2015 10:32:34 отредактировано Bish)

А ну да ну да... Ну а если в консоль не переходит? Совсем? (Зависает намертво) Представляете , такое тоже случается, тогда что?

69

Включать консоль в графике? ab

70 (19.02.2015 11:44:41 отредактировано Bish)

Ctrl+Alt+F1-6 -- ну, а что здесь фантастического? Гуру даются и такие советы: в случае подвисания x-сервера -- заходим в вирт.консоль и ребутим систему (как один из примеров & shutdown -r now). Намедни решил поставить старенький сквизи, поставил, поработал несколько часов а потом он подвис, раньше такого не случалось. Так я не мог зайти в консоль, хорг завис намертво (повторюсь: никогда такого не случалось с сквизи). Помогло:  контрл+альт+принт -- reisub

71

Bish пишет:

Ctrl+Alt+F1-6 -- ну, а что здесь фантастического? даются и такие советы: в случае подвисания x-сервера -- заходим в вирт.консоль и ребутим систему (как один из примеров & shutdown -r now)

Да не должна машинка зависать. Что-то у Вас не так?

72 (19.02.2015 11:47:30 отредактировано Bish)

Я же сказал: раньше такого не случалось ab) допускаю возможно что нужно менять термопасту на проце, в виду 3 лет работы без чистки ноута. Да, но вот что странно, Wheezy то работает!!! значит не перегрев проца.

73

Bish пишет:

Да, но вот что странно, Wheezy то работает!!! значит не перегрев проца.

Дык, может, что-то в системе намудрили?
PS Я у дочки чистил комп через пять лет. Вот тогда там под пропеллером на проце - был "войлок". А три года на ноуте...

74

Bish пишет:

А ну да ну да... Ну а если в консоль не переходит? Совсем? (Зависает намертво)

так бывает если что-то с иксами. То, что к иксам гвоздями приколочено. Например дрова к видяхе(закрытые). В итоге
1. дрова виснут
2. иксы тоже
3. но клава-то тоже через иксы!

mvt пишет:

Включать консоль в графике?

да.

mvt, Bish, прочитайте пункт правил 3.2.8. Я не против, но здесь есть ещё и  злобные модераторы с банхаммером.

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

75 (06.02.2017 15:05:50 отредактировано ormorph)

Для использования глобальных переменных лучше всего использовать файл $HOME/.xprofile
Более глобально(для всех пользователей), обычно в  /etc/X11/xinit/xinitrc.d, создается файл и ему даются права на выполнение, обычно за это отвечают строки в файле /etc/X11/xinit/xinitrc:

if [ -d /etc/X11/xinit/xinitrc.d ] ; then
 for f in /etc/X11/xinit/xinitrc.d/?* ; do
  [ -x "$f" ] && . "$f"
 done
 unset f
fi

Такое объявление позволяет использовать переменные в скриптах и программах, которые будут вызываться как из графической оболочки(не из терминала), так и из графического терминала. Переменные объявляются так же как и в bashrc.

Зы: bashrc действует только на те программы, которые вызываются из терминала.

76

Программа чтобы быстро стартануть word через wine32  ag

 Консоль:
#!/bin/bash
wine32 "/root/.wine/drive_c/Program Files/Microsoft Office/OFFICE11/WINWORD.EXE" &

Будет работать везде, так как путь установки стандартный. Хотя root вам придётся заменить на имя своей учётной записи.
Работает даже быстрее чем на windows!

77

Klondiker пишет:

Работает даже быстрее чем на windows!

На Wine запросто многое работает быстрее.

78

Для этого вовсе не нужно писать целый однострочный сценарий оболочки, т.к. то же самое делает ms word.desktop, который создается wine в процессе установки M$ Office. Но для беспроблемной работы Office 2013 нужен wine 2.0 и выше.

Истинный hotplug - это обычная электрическая розетка: воткнул - работает, и никаких драйверов.
Slackware64-current/Xfce/Lenovo G580

79

Довольно часто происходит то, что надо собирать что либо из исходников и одновременно просматривать фильм и т.д. В результате чего наблюдаются тормоза в работе компьютера.
Решить данную проблему достаточно просто, просто выставив приоритет выполнения приложений больше нуля.
Пример:

 Консоль:
$ nice -n 1 xterm

в результате сборка в xterm будет использовать меньше ресурсов, конечно это скажется на скорости сборки.
Просмотреть приоритет запущенных процессов можно, выполнив команды:
 Консоль:
$ ps -l
$ ps -axl

Изменить приоритет запущенного процесса можно командой:
 Консоль:
$ sudo renice -n 1 -p 2568

где 2568 - pid процесса.

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

Для этих целей использование таких оконных менеджеров как openbox и подобных ему, делает их привлекательными, так как приоритет запуска можно выставить отредактировав меню. Неплохое решение в E17 - E20+, так как в  меню есть пункт производительность, в котором можно выставить приоритет запускаемых приложений по умолчанию стоит 4, по этому не зная можно сказать что E17 - E20 не являются производительными оконными менеджерами(компиляция и т.п.), хотя при использовании на ноутбуках приоритет 4 является большим плюсом, так как меньше греется процессор и расходуется аккумулятор.

80

Хитрость!

 Консоль:

a=$(date); echo ${a:11:9}

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

81

rak2018 пишет:

Хитрость!

 Консоль:

a=$(date); echo ${a:11:9}

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

Это может работать только там где по умолчанию используется bash, в противном случае команда должна быть такой:

 Консоль:
$ bash -c 'a=$(date); echo ${a:11:9}'

А так смысла от этой команды не вижу, так как date имеет формат, т.е. это может сделать сама команда date:
 Консоль:
$ date +%T

82

По мотивам сообщения тыц
Немного меняем скрипт, так как неудобно искать функции вида:

undefined reference to 'leveldb::DestroyDB(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, leveldb::Options const&)

Скрипт libseach.sh:

#!/bin/bash

SYM="$1"
DIRS="/usr/lib/"
find $DIRS -type f -executable | while read I
do
  DUMP="$( nm -C -D $I 2>/dev/null | grep "$SYM")"
  if [ -n "${DUMP}" ]; then
    echo "$I"
    echo "$DUMP"
  fi
done

можно искать просто командой:

 Консоль:
$ libseach.sh "leveldb::DestroyDB"

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

Основные причины возникновения данной ошибки:
1. Данная библиотека не объявлена компилятору.
2. Данная библиотека объявлена компилятору, но в связи с обновлением(переход на новый компилятор, либо на новую библиотеки СИ) данная библиотека требует пере сборки.
Актуально для тех кто занимается сборкой ОС  и программ с исходников.

83

Всплывание уведомлений в том месте, где находится курсор мыши.
Пример notify.sh

#!/bin/bash

sleep 2700s

MASS=($(xdotool getmouselocation))
X_POS=${MASS[0]}
Y_POS=${MASS[1]}

notify-send -u critical -i info -t 30000 -h int:$X_POS -h int:$Y_POS \
"Глазам нужен отдых!" "Пора сделать перерыв..."

Для получения информации о положении мыши используется пакет xdotool

84

ormorph пишет:

о положении мыши

Какой, нафиг, пакет, простит?

85

stranger пишет:

Какой, кю, пакет, простит?

А?
О местоположении курсора мыши...

86

stranger пишет:

Какой

Например, такой: https://slackbuilds.org/repository/14.2 … y/xdotool/

87 (13.10.2017 18:21:04 отредактировано ormorph)

Запуская fluidsynth в качестве  midi секвенсера с выводом через jack, может показаться что звук через jack не работает.

$ fluidsynth -a jack -c2 -R0 -C0 -i -l -s /usr/share/sounds/sf2/FluidR3_GM.sf2

Но если запустить jack_lsp -c, то можно увидеть что просто не подключены каналы вывода звука jack:

 Консоль:
fluidsynth:l_00
fluidsynth:r_00

Остается только их подключить:
 Консоль:
$ jack_connect fluidsynth:l_00 system:playback_1
$ jack_connect fluidsynth:r_00 system:playback_2

По сле этого звук будет идти через jack.

88

Запуск jack в реальном времени с pulseaudio, по мотивам тыц
Например мне не очень то нравится прописывать в /etc/security/limits.conf, и править политики pam, а надо запустить под обычным пользователем, по этому можно решить это довольно просто другим способом.
Есть несколько скриптов первый запускается под обычным пользователем
startjack.sh:

#!/bin/bash
export USERS="$(users)"
sudo /program/scripts/jack.sh $USERS &
sleep 2s
if pidof jackd >/dev/null ; then
  sleep 3s
  /program/scripts/pulse-jack-start.sh &
fi

/program/scripts/jack.sh:

#!/bin/bash
USERS="$1"
if ! pidof jackd >/dev/null ; then
  nice -n -20 sudo -u $USERS  -n nice -n -20 /usr/bin/jackd -R -dalsa -dhw:0 -r48000 -p1024 -n2 &
else
  killall -9 jackd
  killall pulseaudio
fi

/program/scripts/pulse-jack-start.sh:

#!/bin/bash
pactl load-module module-jack-sink channels=2
pactl load-module module-jack-source channels=2
pacmd set-default-sink jack_out
pacmd set-default-source jack_in

Добавляем в /etc/sudoers строчку:

user ALL=NOPASSWD: /program/scripts/jack.sh

на место user прописать своего пользователя.
Скрипт startjack.sh можно навесить на иконку запуска, при первом запуске запускается jack с высоким приоритетом, позволяющим работать в реальном времени и загружаются модули pulseaudio, при следующем запуске скрипта jack убивается и убивается демон pulseaudio, у меня он автоматически сам снова запускается, по этому прописан killall pulseaudio, в принципе можно обойтись без этой строчки, так как модуль jackdbus, сам выгружает модули из pulseaudio при убийстве jack.
Для работы в реальном времени желательно что бы ядро было собрано с уменьшенным временем переключения контента CONFIG_HZ=1000.
Так же можно использовать пропатченое ядро PREEMPT, для работы в реальном времени.
Качество звука не теряется при проигрывании через pulseaudio и jack. Если вдруг через pulseaudio звук не идет, значит скорее всего прописан не тот источник вывода, его легко переключить в pavucontrol, выбрать jack.

89

ffmpeg и jack, захват звука.
Выполнить:

 Консоль:
$ ffmpeg -f jack -i ffmpeg outf.wav

-i ffmpeg это название создаваемого канала.
Остается подключить каналы запущенных источников звука:

#!/bin/bash

jack_lsp -c playback|while read file
do
if [ "system:playback_1" = "$file" ] ; then
  A=1
fi

if [ "system:playback_2" = "$file" ] ; then
  A=2
fi

if [ $A -eq 1 ] && [ "$file" != 'system:playback_1' ] ; then
  jack_connect "$file" ffmpeg:input_1
fi

if [ $A -eq 2 ] && [ "$file" != 'system:playback_2' ] ; then
  jack_connect "$file" ffmpeg:input_2
fi
done

После запуска нового источника звука придется снова выполнять этот скрипт.

90

Процессы

Узнать дочерние процессы определенного pid процесса children.sh:

#!/bin/bash
PID=$1
MASS=($(cat /proc/$PID/task/$PID/children))
for file in ${MASS[@]}
do
   echo $file
done

Узнать pid родительского процесса parent.sh:

#!/bin/bash
PID=$1
MASS=($(cat /proc/$PID/stat))
echo ${MASS[3]}