Вернуться назад

Переменные окружения

# Какую среду окружения мы сейчас используем (выведет KDE):
	$XDG_CURRENT_DESKTOP
# Выведет plasma
	$DESKTOP_SESSION
# Можно выяснить вот так:
	ps -e | grep -Ei 'plasma|gnome|xfce|lxqt|mate|cinnamon'
# X11 или Wayland
	$XDG_SESSION_TYPE
# Посмотреть id текущей сессии
	$XDG_SESSION_ID
# Посмотреть тип сессии (выведет или x11, или wayland):
loginctl show-session $XDG_SESSION_ID -p Type
	# посмотреть среду окружения через loginctl - НЕ ВСЕГДА РАБОТАЕТ!
	# loginctl show-session $XDG_SESSION_ID -p Desktop
# Посмотреть все сессии:
	loginctl
	
	
# Какой shell сейчас использует эмулятор терминала, в котором мы находимся:
	echo $SHELL
		# или:
	ps -p $$
		# или:
	echo $0
	
# Какой терминал мы сейчас используем:
	echo $TERM
	

## ИТОГО
	$$ - специальная переменная shell, которая всегда хранит PID текущего shell-процесса
	$SHELL - переменная окружения, которая обычно указывает на мой shell
	$0 - позиционный параметр ноль, который показывает имя запущенной программы.
		# запущенный в терминале, он выводит мой shell, но внутри запущенного скрипта он выведет имя текущего скрипта
	$LS_COLORS - текущие цвета
	

Полезные командочки


# Посмотреть процессы:
	ps aux | grep swaybg	# BSD-стиль
	px -ef | grep swaybg	# POSIX / SysV-стиль - почти то же самое
		a - показать процессы всех пользователей
		u - добавить колонку с владельцем процесса
		x - показать процессы без терминала (демоны)
		-e - все процессы
		-f - полный формат
		-p // --pid - можно узнать имя процесса по его pid
		u и -u - разные опции
	pgrep swaybg		# просто поиск процесса
# Как сохранить заголовки столбцов при выводе процессов:
	ps aux | head -n 1 && ps aux | grep swaybg		# здесь мы два раза запускаем ps aux
	ps aux | grep -E "COMMAND|swaybg"		# Здесь мы в регулярном выражении указываем какие строки хотим оставить (COMMAND - точно есть в первой строке)
	ps -eo user,pid,%cpu,%mem,tty,stat,start,time,cmd | grep swaybg		# здесь мы явно указываем столбцы, которые хотим вывести

## Установить Oh My Zsh:
	sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
		## После установки можно выбрать красивую тему в ~/.zshrc (например, ZSH_THEME="agnoster" или robbyrussell по умолчанию).
## Для красивой подсветки:
	git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ~/.zsh/zsh-syntax-highlighting
	echo 'source ~/.zsh/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh' >> ~/.zshrc
## Автоподсказки по истории:
	git clone https://github.com/zsh-users/zsh-autosuggestions ~/.zsh/zsh-autosuggestions
	echo 'source ~/.zsh/zsh-autosuggestions/zsh-autosuggestions.zsh' >> ~/.zshrc

# Посмотреть, сколько занимает место кэш:
du -sh ~/.cache/yay
# удаляем кэш вручную:
rm -rf ~/.cache/yay

# Посмотреть текущие цвета:
	echo $LS_COLORS
	dircolors -p | grep -i other_writable	## для опасных файлов, у которых есть все права доступа
## Вывести список БЕЗ яркой подсветки:
	ls --color=never ~/mnt/usb
## Чтобы каждый раз не прописывать аргумент, можно сделать так:
	alias ls="ls --color=never"	
## Убрать alias:
	unalias ls 		# и перезагружаем терминал
	
## НО ЛУЧШЕ ИЗМЕНИТЬ цветовую схему
## Скопировать дефолтную схему цветов:
	dircolors -p > ~/.dircolors
## Заменим
		STICKY_OTHER_WRITABLE 30;42
		OTHER_WRITABLE 34;42
	##	На:
		STICKY_OTHER_WRITABLE 30 # просто серый текст без фона
		OTHER_WRITABLE 34        # голубой текст без фона
## Добавим в ~/.bashrc или в ~/.zshrc:
	eval "$(dircolors ~/.dircolors)"
## Перезагружаем терминал или применяем сразу:
	source ~/.zshrc
	

Железо

lspci
lsusb (usbutils)
lsblk

# Проверим видеокарту:
lspci | grep -E "VGA|3D"
	00:02.0 VGA compatible controller: Intel Corporation Alder Lake-S GT1 [UHD Graphics 730] (rev 0c)

# Посмотреть список микрофонов:
pactl list short sources
# Или:
pw-cli ls Node | grep input
# pw-cli - входит в пакет pipewire


# Завершить сеанс KDE Plasma 6:
qdbus6 org.kde.Shutdown /Shutdown logout

	# Завершить сессию в KDE Plasma (я так понимаю, в X11):
	qdbus org.kde.ksmserver /KSMServer logout 0 0 0
		#qdbus (qt5-tools)
# Завершить сессию в KDE Plasma с Wayland:
loginctl terminate-session $XDG_SESSION_ID
# список сессий:
loginctl
# Завершить все сессии текущего пользователя:
loginctl terminate-user mark
	# При этом sddm останется висеть и нужно будет убить процесс sddm