Глупый пингвин робко прячет, умный - смело достает...


Alexander Ufimtsev аватар

Есть совет? Добавьте его сюда! sticky icon

Долго ковырялся с компом и что-то настраивал? Не смог наскоком найти ответ на вопрос в Гугле? Тогда добавь сюда свой совет, мы будем рады его опубликовать! Неважно, если это "рецепт по боданию" с каким-то из вариантов Linux, Unix или другого СПО проекта. Опубликуем, поможем улучшить и сохранить сию крупицу знания!

Жмите сюда, чтобы ДОБАВИТЬ СОВЕТ.
Рекомендации по оформлению советов. Модераторы помогут поправить форматирование, если у вас возникли проблемы.

Регистрация на сайте необязательна, но чтобы не возиться с captcha, рекомендуем все-таки зарегистрироваться или войти по OpenID. По любым вопросам обращайтесь в наш форум или стучитесь в обратную связь.

Благодарим за визит и отклики!

3.25
Ваша оценка: Ничего Рейтинг: 3.3 (4 голоса)
romy4 аватар

Lenovo ideapad every time loses network connection

Fix is simple:
run as root

$ nmcli -p d list

find

GENERAL.DEVICE: wlan0
GENERAL.DRIVER: rtl8723be

got rtl8723be

$ cd /etc/modprobe.d
$ editor rtl8723be.conf

put:

options rtl8723be ant_sel=2

and reboot

0
Ваша оценка: Ничего
ramok аватар

Открыть множество файлов по маске в окнах в vim

Открыть все файлы с раширением *.tcl в горизонтально разбитых окнах

:args lib/*.tcl | argdo wincmd S
0
Ваша оценка: Ничего

Сохранение/восстановление настроек alsa между перезагрузками

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

0
Ваша оценка: Ничего
romy4 аватар

Matrix

Сыпящаяся матрица в консоли. Мне пришлось пару строчек в скрипте подправить дабы оно работало как отдельный скрипт, а не только command-line
0
Ваша оценка: Ничего
romy4 аватар

ping + graph

gping — маленькая утилита на Python с открытым исходным кодом, представляющая собой замену команде ping, только с графиком, отражающим изменение пинга со временем.

Установить утилиту можно с помощью pip3:
pip3 install pinggraph

0
Ваша оценка: Ничего
romy4 аватар

Пищалка

Чтобы в Линуксе пищать пищалкой нужно поставить beep.
Но она может молчать. Чтобы заставить её таки пищать, нужно подгрузить модуль ядра для pc speaker:

modprobe pcspkr
0
Ваша оценка: Ничего
romy4 аватар

Порядок аргументов для getopts

getopts не будет обрабатывать параметры, если они переданы после аргументов без дефиса
./myscript -a 1 -b 2 hello world
getopts вернёт a и b с параметрами, $OPTIND станет = 4, но
./myscript hello world -a 1 -b 2
работать не будет

rtfm
In fact, getopts will not process arguments without the prefixed -, and will terminate option processing at the first argument encountered lacking them.

getopts != getopt, хотя первое сделано для замены второго

0
Ваша оценка: Ничего
romy4 аватар
romy4 аватар

Обрезать строку с начала, оставив 20+ символов с конца

Необходимо укоротить строку до 20+ символов, оставив их с конца строки таким образом, что если строка обрезается на середине слова, то удлинить её до первого символа _ (не включая сам символ).

Пример строки "this_is_very_long_string_more_than_30_symbols_length".

Вот, собственно, решение:

echo "$str" | sed -e 's:^.*_\(.\{20,\}\)$:\1:'
0
Ваша оценка: Ничего
romy4 аватар

Блокировка экрана если юзер не ответил на вопрос за несколько секунд.

Я логинюсь под юзером и иду пить кофе, но мне лень ждать момент, чтобы нажать на клавишу блокировки экрана после загрузки рабочего стола. Выход — сделать такую блокировку автоматически с вопросом: "если ты здесь, то нажми кнопку, иначе через 5 секунд всё заблокируется".

В ubuntu/mint есть стандартная утилита оконных сообщений zenity. Она умеет многое из того, что умеет dialog, ею воспользуемся.

zenity --text "Не блокировать комп?" --timeout=3 --question --modal

В ответе утилита возвращает результат: 0, 1 или 5 (да, нет или таймаут).

case $result in
1|5)
    gnome-screensaver-command -l
    ;;
esac

Если нет или таймаут, то блокируем комп через гномовский скринсейвер, так как он отвечает за блокировку.

0
Ваша оценка: Ничего
romy4 аватар

Переместить приложение на нужный рабочий стол в x=0:y=0 и нажать кнопку

Автоматизируя рабочий стол наткнулся на то, что FF с установленным session manager не хочет нормально запускаться. Точнее, он запускается и ждёт нажатия кнопки выбора сессии. Даже если каким-то образом удастся его запустить, оно всё равно открывается на правом мониторе, а нужно на левом. Как решить?

Есть два варианта: переключиться на другой workspace и там запустить или запустить на текущем, а потом переместить окна на другой workspace.

Под катом решение.

0
Ваша оценка: Ничего

Socks proxy через ssh

чтобы организовать не кэширующий прокси сервер оказывается достаточно работающего ssh.
в линукс достаточно запустить комманду:

ssh -D<proxy_port> <имя_пользователя>@<удаленый_ssh_сервер>

в Windows с помощью PuTTY добавить в разделе Connection/SSH/Tunnels

  • в Source port номер proxy порта
  • выбрать Dynamic и нажать на Add

<proxy_port> заменить на число >1000 <65536

после того, как соединение с ssh сервером установлено на Вашей локальной машине Вы можете использовать proxy: localhost:<proxy_port>

для примера как я организую прокси:

localhost $ ssh -D8888 
Password: *******
 $ _

после этого прописываю прокси localhost:8888 в настройках, указывая, что это Socks V5 проски.

0
Ваша оценка: Ничего
ramok аватар
romy4 аватар

Нумерация скачанной музыки

Идея в том, что вы скачиваете плейлист в правильном порядке, а потом эта неорганизованная куча файлов после команды опять стаёт в порядке плейлиста. Суть в том, что каждый файл сохраняет своё время изменения на секунду больше предыдущего. Этим надо воспользоваться.
Допустим, скачали кучу файлов из плейлиста в папку Music/new, там они сейчас в перемешку, так как имена разные. Делаем их в нужном порядке и нумеруем следующей командой (предварительно зайдя через консоль в Music/new):

ls -1rat | awk '/^[^.]/ {print $0}' | awk  '{name=sprintf("%03i - %s",NR,$0);system("mv \""$0"\" \""name"\"")}'

не сработает, если в названии есть (`) обратный апостроф

%03i - нумерация от 000 до 999, если надо 0000-9999, то ставим %04i

Ссылки в тему:

0
Ваша оценка: Ничего
i-sat аватар

Собираем Asterisk для OS X Yosemite

Уже давно в голове вынашивалась идея запустить Asterisk под работающим почти круглосуточно Mac-mini с OS X Yosemite, однако готовой сборки на просторах интернет не попадалось под руку.

Если кому интересен это краткий совет, тогда читайте далее...

0
Ваша оценка: Ничего
romy4 аватар

Системная информация в читаемом виде

$ sudo inxi -Fx

0
Ваша оценка: Ничего
romy4 аватар

Little about Find

  1. Find large files
    find /home -type f -size +5000k -exec ls -lh {} \; | awk '{ print $9 ": " $5 }'
  2. Find files / directories with 777 permissions
    #find 777 files
    find / -type f -perm 0777
    #find 777 dirs
    find / -type d -perm 0777

    You can also combine find to skip some folders when copying using this article. Prune tells it to also skip subfolders and subfiles.

    find . ! \( -name images -prune \) -print | cpio -o | ttcp -t yourserver.com -p 10000
  3. Find empty files
    find /home -type f -size -1b -exec ls -lh {} \; | awk '{ print $9 ": " $5 }'
  4. Find empty files and delete
    find /tmp -type f -empty -delete
  5. Find smallest files and delete them
    ls . -S | tail -250 | xargs rm
  6. Find largest files
    ls . -Srl | tail -250
0
Ваша оценка: Ничего
romy4 аватар

Copy millions of tiny files through a network

I had to copy millions and millions of tiny small image files, about 5KB each, total size more than a terabyte, over a network fast.

SCP, NFS, FTPFS and SSHFS where all too slow to work with. All these methods copy every single file piece by piece, causing lots of overhead, I never reached more than 1MB/s over a gigabit line.

The fastest solution I came up with after lots and lots of testing was this:

Receiving server:

ttcp -r -p 10112 | cpio -i -d -m

Sending server:

find /home/files -print | cpio -o | ttcp -t receivinghost.com -p 10112

CPIO is slightly faster than TAR, and does not have any problems with long filenames.

  1. Other solution 1 - A little compression
    This solution saves a little bandwidth by gzipping the files. This will only save you bandwidth if you transfer text/html/sql files, images, mp3 and other already compressed formats will only cost more time and overhead.

    Receiving server:
     

0
Ваша оценка: Ничего
ramok аватар

Терминал для бедных

Если под рукой нет ckermit или minicom то можно воспользоваться простым терминалом из пакета python-serial

$ python -m serial.tools.miniterm

По -h можно получить список параметров

0
Ваша оценка: Ничего