Сделать список уже установленных программ и опять установить из него. Полезно при переустановке системы.
sudo dpkg --get-selections > software
sudo dpkg --get-selections < pkglist
Настоятельно просим вас при общении соблюдать Правила форума и законы РФ. Наша тематика вне политики, поэтому воздержитесь от обсуждения ситуации на Украине и связанных с ней событий, независимо от того, какую сторону вы поддерживаете.
Также напоминаем, что наш форум находится в доменной зоне .ru, физически расположен на российских серверах и мы соблюдаем действующее законодательство России. Любые сообщения о политике будут удаляться.
Linux Forum → Общие вопросы → Маленькие хитрости в Linux
Сделать список уже установленных программ и опять установить из него. Полезно при переустановке системы.
sudo dpkg --get-selections > software
sudo dpkg --get-selections < pkglist
А где в этой команде задаётся какой именно файл конвертировать?
Уже подправил ))
Сделать список уже установленных программ и опять установить из него. Полезно при переустановке системы.
sudo dpkg --get-selections > software
sudo dpkg --get-selections < pkglist
Любой линуксоид-дебианщик из man dpkg это знает, не будьте КО
Создание initrd файла с помощью утилиты cpio
По мотивам темы тыц
Если бы тему не закрыли написал бы там.
Если просмотреть вывод в консоли, то становится видно, что команда cpio -o -H newc в конце файла выводит количество скопированных блоков, в результате чего, ядро не может работать с файлом виртуальной файловой системы initrd, ключик --quiet решает эту проблему.
И того конечная команда будет такой.
# find .|cpio --quiet -o -H newc|gzip -f -9 >путь/initrd
Обнуление файла с сохранением его прав:
:>myfile
Что делать если Linux "завис"...
Нажмите и удерживайте Ctrl+Alt+PrtSc (PrtSc — это клавиша «принт-скрин» для снятия
скриншотов с экрана). Удерживая эти три клавиши, наберите на клавиатуре: REISUB (эти буквы не
удерживаются, а просто набираются по типу «нажал — отпустил»). После данной операции система уйдет в ребут. Проверено на Debian Wheezy!
Можете проверить немедля, это безопасная перезагрузка.
Что делать если Linux "завис"...
обычно линукс НЕ зависает.
Посему, следует перейти в другую консоль CTRL+ALT+F2, там посмотреть top/htop и там же вырубить то, что повисло.
ещё есть https://ru.wikipedia.org/wiki/SysRq но оно не нужно (мне на практике не нужно, вы конечно можете поиграть, ваша право. Я как-то эти коды написал на бумажке, мне эта бумажка больше года не понадобилась, а потом куда-то завалилась)
А ну да ну да... Ну а если в консоль не переходит? Совсем? (Зависает намертво) Представляете , такое тоже случается, тогда что?
Включать консоль в графике?
Ctrl+Alt+F1-6 -- ну, а что здесь фантастического? Гуру даются и такие советы: в случае подвисания x-сервера -- заходим в вирт.консоль и ребутим систему (как один из примеров & shutdown -r now). Намедни решил поставить старенький сквизи, поставил, поработал несколько часов а потом он подвис, раньше такого не случалось. Так я не мог зайти в консоль, хорг завис намертво (повторюсь: никогда такого не случалось с сквизи). Помогло: контрл+альт+принт -- reisub
Ctrl+Alt+F1-6 -- ну, а что здесь фантастического? даются и такие советы: в случае подвисания x-сервера -- заходим в вирт.консоль и ребутим систему (как один из примеров & shutdown -r now)
Да не должна машинка зависать. Что-то у Вас не так?
Я же сказал: раньше такого не случалось ) допускаю возможно что нужно менять термопасту на проце, в виду 3 лет работы без чистки ноута. Да, но вот что странно, Wheezy то работает!!! значит не перегрев проца.
Да, но вот что странно, Wheezy то работает!!! значит не перегрев проца.
Дык, может, что-то в системе намудрили?
PS Я у дочки чистил комп через пять лет. Вот тогда там под пропеллером на проце - был "войлок". А три года на ноуте...
А ну да ну да... Ну а если в консоль не переходит? Совсем? (Зависает намертво)
так бывает если что-то с иксами. То, что к иксам гвоздями приколочено. Например дрова к видяхе(закрытые). В итоге
1. дрова виснут
2. иксы тоже
3. но клава-то тоже через иксы!
Включать консоль в графике?
да.
mvt, Bish, прочитайте пункт правил 3.2.8. Я не против, но здесь есть ещё и злобные модераторы с банхаммером.
Для использования глобальных переменных лучше всего использовать файл $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 действует только на те программы, которые вызываются из терминала.
Программа чтобы быстро стартануть word через wine32
Работает даже быстрее чем на windows!
На Wine запросто многое работает быстрее.
Для этого вовсе не нужно писать целый однострочный сценарий оболочки, т.к. то же самое делает ms word.desktop, который создается wine в процессе установки M$ Office. Но для беспроблемной работы Office 2013 нужен wine 2.0 и выше.
Довольно часто происходит то, что надо собирать что либо из исходников и одновременно просматривать фильм и т.д. В результате чего наблюдаются тормоза в работе компьютера.
Решить данную проблему достаточно просто, просто выставив приоритет выполнения приложений больше нуля.
Пример:
Приоритет процессов можно выставлять в пределах от -20(наивысший приоритет) до 19(низший приоритет).
Например выставить приоритет больше нуля для браузера, то просмотр флеш анимации будет меньше нагружать процессор, на качестве воспроизведения это не сказывается.
Для этих целей использование таких оконных менеджеров как openbox и подобных ему, делает их привлекательными, так как приоритет запуска можно выставить отредактировав меню. Неплохое решение в E17 - E20+, так как в меню есть пункт производительность, в котором можно выставить приоритет запускаемых приложений по умолчанию стоит 4, по этому не зная можно сказать что E17 - E20 не являются производительными оконными менеджерами(компиляция и т.п.), хотя при использовании на ноутбуках приоритет 4 является большим плюсом, так как меньше греется процессор и расходуется аккумулятор.
Хитрость!
Хитрость!
Консоль:
a=$(date); echo ${a:11:9}
Этой командой можно вырезать время, без необходимости дописывать плюс в date.
Это может работать только там где по умолчанию используется bash, в противном случае команда должна быть такой:
По мотивам сообщения тыц
Немного меняем скрипт, так как неудобно искать функции вида:
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
можно искать просто командой:
Основные причины возникновения данной ошибки:
1. Данная библиотека не объявлена компилятору.
2. Данная библиотека объявлена компилятору, но в связи с обновлением(переход на новый компилятор, либо на новую библиотеки СИ) данная библиотека требует пере сборки.
Актуально для тех кто занимается сборкой ОС и программ с исходников.
Всплывание уведомлений в том месте, где находится курсор мыши.
Пример 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
о положении мыши
Какой, нафиг, пакет, простит?
Какой, кю, пакет, простит?
А?
О местоположении курсора мыши...
Какой
Например, такой: https://slackbuilds.org/repository/14.2 … y/xdotool/
Запуская fluidsynth в качестве midi секвенсера с выводом через jack, может показаться что звук через jack не работает.
$ fluidsynth -a jack -c2 -R0 -C0 -i -l -s /usr/share/sounds/sf2/FluidR3_GM.sf2
Но если запустить jack_lsp -c, то можно увидеть что просто не подключены каналы вывода звука jack:
Запуск 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.
ffmpeg и jack, захват звука.
Выполнить:
#!/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
После запуска нового источника звука придется снова выполнять этот скрипт.
Узнать дочерние процессы определенного 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]}
Linux Forum → Общие вопросы → Маленькие хитрости в Linux
Форум работает на PunBB, при поддержке Informer Technologies, Inc