рабочий стол в консоли
Jun. 29th, 2013 01:12 am
развернуть
посмотреть видео
mplayer -vo fbdev2 -zoom -x 1024 -y 600 -fs /адрес/имя_файла.avi
mpv -vo drm rtmp://сайт_с_раздачей/
mpv -vo drm http://78.29.1.71/live/2x2tv/copy/playlist.m3u8
youtube-dl https://www.youtube.com/watch?v=6pxRHBw-k8M --list-formats
mpv -vo drm https://www.youtube.com/watch?v=6pxRHBw-k8M --ytdl-format=22
echo "mpv -vo drm https://www.youtube.com/watch?v=6pxRHBw-k8M --ytdl-format=22" > /dev/tty2
ссылки на видео
ffplay film.avi
https://help.ubuntu.ru/wiki/ffmpeg
запись в файл
ffmpeg -f fbdev -r 10 -i /dev/fb0 out.avi
скачать потоковое видео
ffmpeg -i https://example.org/stream.m3u8 -c copy out.ts
записать и прослушать аудио
arecord audio.wav
aplay audio.wav
прослушать радио
curseradio
mpg123 http://strm112.1.fm/90s_mobile_mp3
mocp http://ic2.101.ru:8000/a183
ffplay http://ic2.101.ru:8000/a70
mpv http://strm112.1.fm/ccountry_mobile_mp3
ссылки на радио
музон в консоли
в ubuntu и debian
sudo apt-get install pulseaudio
sudo apt-get install libpulse-dev
sudo apt-get install osspd
wget -qO - http://radio.goha.ru:8000/grindfm.ogg |ffmpeg -i - -f u8 -ac 1 -ar 8000 -> /dev/dsp
sudo apt-get install sox libsox-fmt-all
wget -qO - http://radio.goha.ru:8000/grindfm.ogg |play -t ogg -
во фряхе
# virtual_oss -S -Q 0 -b 16 -c 2 -r 44100 -s 100ms -f /dev/dsp -d dsp.44100 -t vdsp.ctl
% fetch -o - http://radio.goha.ru:8000/grindfm.ogg |oggdec -R -e 1 -b 16 -s 1 - -o - > /dev/dsp.44100
http://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi?az=post&om=118115&forum=vsluhforumID3&omm=24&news_key=51258
посмотреть картинку
fim -A /адрес/имя_файла.png
прочесть pdf
fimgs /адрес/имя_файла.pdf
jfbview /адрес/имя_файла.pdf
pip3 install epy-reader
epy книга.mobi
интернет с картинками
w3m адрес_сайта
пакет w3m-img должен быть установлен
links2 -g адрес_сайта
apt install netsurf-fb
прочесть документы
antiword file.doc | less
odt2txt file.odt | less
глянуть погоду
curl http://wttr.in/
посмотреть звёздные войны
telnet towel.blinkenlights.nl
когда надоест Ctrl + ] и затем q
интернет
w3m elinks links2
https://github.com/browsh-org/browsh
docker run --rm -it browsh/browsh
https://github.com/fathyb/carbonyl
docker run -ti fathyb/carbonyl https://duckduckgo.com
скриншоты в иксах и консоли, запись терминальной сессии, разрешение экрана в tty
fbset -xres 1280 -yres 1024 -depth 32
fbset -xres 1920 -yres 1080 -depth 32
fbset -xres 1600 -yres 900 -depth 32
fbgrab -c 2 2.png #(снимок tty2)
sudo fbgrab -c 2 -s 5 2.png # снимок tty2 через 5 сек
tlog-rec --writer=file --file-path=tlog.log
tlog-play --reader=file --file-path=tlog.log
получить ссылки и картинки с сайта
http://www.videlibri.de/xidel.html
адреса ссылок:
xidel -s --extract "//a/@href" "http://www.videlibri.de/xidel.html"
адреса изображений:
xidel -s --extract "//img/@src" "http://www.videlibri.de/xidel.html"
локаль
echo 'export LANG=en_US.utf8' >> ~/.profile
source ~/.profile
QT во фреймбуфере
sudo gpasswd -a пользователь input # права на мышку и клаву для qt
QT_QPA_PLATFORM=linuxfb программа_на_qt # запуск qt программ, в tty
QT_QPA_PLATFORM=linuxfb qutebrowser https://raw.githubusercontent.com/qutebrowser/qutebrowser/master/doc/img/cheatsheet-big.png
в этом режиме работают только хоткеи программы, переключения на другую tty нет
Как закрыть терминал без убийства запущенной в нём команды
nohup команда &
или
команда & disown
строка bash
Поднятая целина: Осваиваем и обустраиваем консоль — «Хакер»
Разноцветные терминалы
командная строка в стиле DOS
Пользовательские настройки Bash
export PS1='\t C:\> '
или так
export PS1="C:\$( pwd | sed 's:/:\\\\\:g' )> "
если понравилось добавим в ~/.bashrc следующий код:
PS1="C:\$( pwd | sed 's:/:\\\\\:g' )> "
цветной текст
echo -e '\033[0;31mнекоторый текст\033[0m'
опции
Ёлочка в командной строке
0 Сбросить все атрибуты
1 Bright (повышенная яркость)
2 Dim (затемнение)
4 Underscore (нижнее подчеркивание)
5 Blink (мигание)
7 Reverse (инверсия)
8 Hidden (скрыть текст)
Foreground Colours (цвет пера, этим цветом выводится текст):
30 Black (черный)
31 Red (красный)
32 Green (зеленый)
33 Yellow (желтый)
34 Blue (синий)
35 Magenta (пурпурный)
36 Cyan (голубой)
37 White (белый)
Background Colours (цвет бумаги, или цвет фона):
40 Black (черный)
41 Red (красный)
42 Green (зеленый)
43 Yellow (желтый)
44 Blue (синий)
45 Magenta (пурпурный)
46 Cyan (голубой)
47 White (белый)
привет в соседнюю консоль
простой:
echo "Привет" > /dev/tty2
посложнее:
Файл дескриптор в Linux с примерами
откроем консоль с bash и посмотрим PID нашего процесса
[user@localhost ]$ echo $$
15771
Во второй консоли запустим
[user@localhost ]$ ls -lah /proc/15771/fd/
total 0
dr-x------ 2 user user 0 Oct 7 15:42 .
dr-xr-xr-x 9 user user 0 Oct 7 15:42 ..
lrwx------ 1 user user 64 Oct 7 15:42 0 -> /dev/pts/21
lrwx------ 1 user user 64 Oct 7 15:42 1 -> /dev/pts/21
lrwx------ 1 user user 64 Oct 7 15:42 2 -> /dev/pts/21
lrwx------ 1 user user 64 Oct 7 15:42 255 -> /dev/pts/21
Файл дескриптор с номером 255 можете смело игнорировать в рамках данной статьи, он был открыт для своих нужд уже самим bash, а не прилинкованной библиотекой.
Сейчас все 3 файл дескриптора связаны с устройством псевдотерминала /dev/pts, но мы все равно можем ими манипулировать, например запустим во второй консоли
[user@localhost ]$ echo "hello world" > /proc/15771/fd/0
И в первой консоли мы увидим
[user@localhost ]$ hello world
strace -s 1024 -f bash -c "ls | grep hello"
для подключения к pty следует использовать клиент ttysnoop
ttysnoop /dev/pts/0
tty -s && echo "Внутри tty"
netcat чат меж компами
tmux
https://wiki.archlinux.org/index.php/Tmux_(Русский)
Краткая шпаргалка по tmux (менеджеру терминалов)
Tmux — что это и зачем? Обзор и урок tmux
GNU Screen и tmux: ключ к эффективному использованию консоли
Шпаргалка по работе с Tmux (терминальный мультиплексор)
Поддержка мышки в Midnight Commander запущенного из под tmux/screen
небольшой конфигурационный файл:
$ vi ~/.tmux.conf
vi ~/.profile
$ tmux source-file ~/.tmux.conf
кратко
для подключения обратно используется другой аргумент командной строки:
$ tmux attach
для перехода к предыдущему окну следует использовать следующую команду:
$ tmux last-window
А для создания окна такую:
$ tmux new-window
Весь перечень поддерживаемых команд можно получить так:
$ tmux list-commands
Получить список всех возможных опций можно так:
$ tmux show-options
$ tmux show-window-options
Очень хороший способ запустить tmux:
tmux attach || tmux new — делая так, вы сперва пытаетесь подключиться к уже существующему серверу tmux, если он существует; если такого ещё нет — создаёте новый.
tmux new -s session1 - создание сессии с именем session1
tmux attach -t session1 - подключение к сессии session1
tmux a -t session1
Ctrl+b s Выбрать сессию
tmux kill-session -t session1 - Завершение сессии
После этого вы попадаете в полноценную консоль.
Ctrl+b d — отключиться. (Точно так же вы отключитесь, если прервётся соединение. Как подключиться обратно и продолжить работу — см. выше.)
В одной сессии может быть сколько угодно окошек:
Ctrl+b c — создать окошко;
Ctrl+b 0...9 — перейти в такое-то окошко;
Ctrl+b p — перейти в предыдущее окошко;
Ctrl+b n — перейти в следующее окошко;
Ctrl+b l — перейти в предыдущее активное окошко (из которого вы переключились в текущее);
Ctrl+b & — закрыть окошко (а можно просто набрать exit в терминале).
В одном окошке может быть много панелей:
Ctrl+b % — разделить текущую панель на две, по вертикали;
Ctrl+b " — разделить текущую панель на две, по горизонтали (это кавычка, которая около Enter, а не Shift+2);
Ctrl+b →←↑↓ — переходить между панелями;
Ctrl+b x — закрыть панель (а можно просто набрать exit в терминале).
Недостаток — непривычным становится скроллинг:
Ctrl+b PgUp — вход в «режим копирования», после чего:
PgUp, PgDown — скроллинг;
q — выход из «режима копирования».
работа с tmux
Старт
# tmux //без параметров будет создана сессия 0
# tmux new -s session1 //новая сессия session1. Название отображается снизу-слева в квадратных скобках в статус строке. Далее идет перечисление окон. Текущее окно помечается звездочкой.
Префикс (с него начинаются команды)
<C-b> (CTRL + b)
Новое окно (нажать CTRL+b, затем нажать с)
<C-b c>
Список окон
<C-b w> // переключиться курсором вверх-вниз
Переключение
<C-b n> // следующее окно
<C-b p> // предыдущее окно
<C-b 0> // переключиться на номер окна
Окна можно делить на панели (Panes)
Как в тайловых (мозаичных) оконных менеджерах.
Деление окна горизонтально
<C-b ">
либо команда
# tmux split-window -h
Деление окна вертикально
<C-b %>
либо команда
# tmux split-window -v
Переход между панелей
<C-b стрелки курсора> // либо режим мыши
Изменение размеров панелей
<C-b c-стрелки> // либо режим мыши
Закрытие окон
<C-b x> // нужно подтвердить y
либо
# exit
Отключение от сессии
<C-b d>
либо
# tmux detach
Список сессий
# tmux ls
Подключиться к работающей сессии
# tmux attach //подключение к сессии, либо к единственной, либо последней созданной
# tmux attach -t session1 // подключение к сессии session1
Выбрать сессию
<C-b s>
Завершение сессии
# tmux kill-session -t session1
Завершить все сессии
# tmux kill-server
Список поддерживаемых комманд
# tmux list-commands
Дополнительная информация
# man tmux
GNU Screen
https://www.gnu.org/software/screen/manual/screen.html
https://wiki.archlinux.org/title/GNU_Screen_(Русский)
Краткая шпаргалка по использованию GNU screen
Стандартные команды
ctrl+a ? Отображает список команд и их параметры по умолчанию
ctrl+a : Ввод команды для screen
ctrl+a " Список окон
ctrl+a 0 Открыть окно 0
ctrl+a A Переименовать текущее окно
ctrl+a a Отправить ctrl+a в текущее окно
ctrl+a c Создать новое окно
ctrl+a S Разделить текущий регион на два по горизонтали
Ctrl+a | Разделить текущий регион на два по вертикали
ctrl+a tab Переключить фокус ввода на следующий регион
ctrl+a ctrl+a Переключение между текущим и предыдущим регионами
ctrl+a Esc Перейти в режим копирования (используйте enter для выделения текста)
ctrl+a ] Вставка текста
ctrl+a Q Закрыть все регионы кроме текущего
ctrl+a X Закрыть текущий регион
ctrl+a d Отключиться от текущего сеанса screen, оставив его работающим в фоне. Для переподключения используйте screen -r
Вводимые команды
Ctrl+a :quit Закрывает все окна и завершает сеанс screen
Ctrl+a :source ~/.screenrc Перезагружает файл настроек screenrc (также можно использовать /etc/screenrc)
Создание сеанса с определённым названием:
$ screen -S название_сеанса
Переименование текущего сеанса:
Ctrl+a :sessionname название_сеанса
Список всех существующих сеансов текущего пользователя:
$ screen -list
Подключение к существующему сеансу по его имени:
$ screen -x название_сеанса
или
$ screen -r название_сеанса
Ctrl+a a d Отсоединяется от внутреннего сеанса screen.
Ctrl+a a K Завершает (kill) внутренний сеанс screen.
Основные хоткеи в screen следующие.
Основные хоткеи в screen следующие.Окна: Ctr + A, C Create, создать окно Ctr + A, K Kill, прибить окно Ctr + A, W Windows, показать список окон Ctr + A, Space Переключитьcя на следующее окно Ctr + A, N То же самое Ctr + A, Backspace Переключиться на предыдущее окно Ctr + A, P То же самое Ctr + A, Ctr + A Вернутся на окно, с которого переключились Ctr + A, " Выбрать из списка окно, на которое хотим переключиться Ctr + A, 0-9 Переключиться на окно с таким-то номером Ctr + A, ‘ Ввести номер окна, на которое хотим переключиться Ctr + A, Shift + A Переименовать окно Ctr + A, :number 3 Изменить номер окна Ctr + A, I Info, информация о текущем окне Ctr + A, Shift + N Number, номер и название текущего окна Регионы: Ctr + A, Shift + S Разделить текущий регион горизонтально Ctr + A, | Разделить текущий регион вертикально Ctr + A, :resize +5 Изменить размер региона вертикально (увеличить на 5) Ctr + A, :resize -h 80 Изменить размер региона горизонтально (установить в 80) Ctr + A, Tab Переключение между регионами Ctr + A, Shift + X Прибить текущий регион Ctr + A, Shift + Q Прибить все регионы кроме текущего Мониторинг: Ctr + A, Shift + M Включить/выключить мониторинг активности в окне Сек + A, _ Мониторинг неактивности в течение 30 секунд Скролинг и копирование текста: Ctr + A, [ Перейти в режим copy/scrollback Ctr + A, ] Вставить содержимое paste buffer (регистр . — «точка») Ctr + A, > Записать paste buffer во временный файл (bufferfile) Ctr + A, < Считать paste buffer из временного файла Ctr + A, = Удалить bufferfile Ctr + A, :bufferfile Изменить имя bufferfile (нужно передать аргумент) Ctr + A, :readreg a Положить paste buffer в регистр a Ctr + A, :paste a Вставить содержимое регистра a Разное: Ctr + A, ? Подсказка по хоткеям Ctr + A, D Detach Ctr + A, \ Прибить все окна и выйти Ctr + A, A Послать Ctr + A Ctr + A, T Time, показать текущее время, имя хоста, LA Ctr + A, V Version, показать версию screen Ctr + A, X Lock, для разблакировки нужно ввести пароль пользователя Ctr + A, F Fit, подогнать окно под размер текущего региона Ctr + A, Z Как Ctr+Z для обычных приложений
Текстовые WM (wm в tty)
Viper Window Manager (VWM) — это легкий, расширяемый оконный менеджер для консоли.
http://vwm.sourceforge.net/index.html
Monotty Desktopio Текстовая среда рабочего стола внутри вашего терминала
https://github.com/netxs-group/vtm
Twin - это оконная среда с поддержкой мыши, оконным менеджером, эмулятором терминала и сетевыми клиентами, все внутри текстового дисплея.
https://github.com/cosmos72/twin
разница между DE и WM, а также работа в голых иксах
установка XRDP, VNC и SSH на Ubuntu и Debian. (tmux)
почта в консоли mutt и msmtp
делаем vim удобным
Редактируем iso в Ubuntu Linux из консоли
Копирование Audio CD
проверка скорости интернета в консоли
Профиты от использования консольного FTP-клиент lftp
UTF в консоли FreeBSD
консольная подборка
консоль python в роли командной строки