Меню

Настройка внешнего вида терминала linux



Настройка терминала Ubuntu

Если вы уже не совсем новичок в Ubuntu и уже немного освоились в своей системе, то, наверное, достаточно часто используете терминал. Современные системы Linux позволяют сделать практически все с помощью графических утилит начиная от установки программного обеспечения, до тонкой настройки системы. Но терминал тоже не теряет свою актуальность. При достаточном уровне знаний, в терминале действия выполняются намного быстрее и эффективнее.

Например, вам не нужно искать пункты меню, кликать несколько раз мышкой, выполнять поиск программы по системе и так далее. Достаточно просто набрать одну команду, передать ей нужные параметры и компьютер выполнит все нужные действия. Просто и быстро. Ситуацию делают еще интереснее возможности комбинации команд, перенаправления вывода одной команды в другую и так далее. Но тема сегодняшней нашей статьи не возможности терминала Linux, а настройка терминала в Ubuntu.

Сначала мы рассмотрим как улучшить внешний вид и удобность использования эмулятора терминала, используемого по умолчанию в Ubuntu — Gnome Terminal, а затем рассмотрим как улучшить командную оболочку.

Настройка терминала Ubuntu

Вы можете запустить терминал из главного меню или нажав сочетание клавиш Ctrl+Alt+T:

По умолчанию в системе терминал выглядит не очень красиво. Но ситуацию можно исправить с помощью установки другой темы Unity, например, Numix:

Но в этой статье будет рассмотрена ручная настройка терминала Ubuntu, без установки тем. Для того чтобы настроить внешний вид терминала откройте контекстное меню, кликнув в любой области терминала, откройте пункт Профили и выберите Параметры профиля:

На вкладке основные вы можете настроить размеры окна терминала, а также шрифт:

Для настройки шрифта установите галочку использовать другой шрифт и выберите нужный шрифт из списка, например, Dejavu Sans Mono Book:

Самая интересная для нас вкладка Цвета, здесь мы выберем нужные нам цвета для окна терминала, а также настроим прозрачность. Но чтобы разблокировать настройку снимите галочку Использовать цвета из системной темы:

Здесь можно выбрать одну из существующих цветовых схем, но мне из них не понравилась ни одна, поэтому настроим свою. Нужный цвет в поле цвет текста и цвет фона. У меня это светло серый и темно-серый. Также можно добавить немного прозрачности с помощью ползунка или же просто установить галочку использовать прозрачность системной темы:

Теперь терминал выглядит вполне приемлемо, но это еще не все. Хотелось бы еще поговорить о командной оболочке.

Настройка командной оболочки Ubuntu

По умолчанию в Ubuntu используется командная оболочка Bash. Она была изобретена еще в далеких 80х годах для операционной системы Unix в лаборатории Bell Labs. Понятное дело, что с тех пор она была модифицирована и очень сильно улучшена, написана свободная реализация Bash, которую вы сейчас используете и так далее. Но все принципы остались те же.

За это время были разработаны лучшие оболочки, которые предоставляют пользователям намного более дружественный интерфейс и более удобны в использовании и написании скриптов.

Одна из таких оболочек — fish, или Frendly Interactive Shell. Рассмотрим вкратце ее преимущества. Очень важным моментом fish есть полная подсветка синтаксиса, каждая правильно введенная команда выделяется одним цветом, неизвестная другим, а правильный путь к файлу подчеркивается, таким образом, вы сразу понимаете правильно ли набрали команду, еще не нажимая Enter. Также здесь очень удобный поиск ранее введенных команд в истории, достаточно набрать первые несколько символов команды и начать листать кнопкой вверх, чтобы увидеть все ранее вводимые команды, начинающиеся с этих символов. Более того, когда вы начинаете набирать команду, то оболочка предлагает вам последнюю выполненную команду, начинающуюся на такие символы, достаточно нажать стрелку вправо, и команда готова к запуску. Автодополнение здесь намного лучше чем в Bash, fish дополняет не только команды и адреса файлов, но и опции команд, а это может быть очень полезно для новичков.

А про скрипты Fish вообще говорить не стоит, они намного легче и проще. Намного проще осваиваются новичками и легче для опытных пользователей, поскольку скрипты Bash славятся своей сложностью.

Если вы еще не уверенны, нужно ли ставить оболочку Fish в своей системе, вас никто не заставляет удалять Bash, вы можете просто установить fish и проверить ее возможности, может вам тоже понравиться. Настройка консоли Ubuntu должна включать установку нормальной оболочки.

Для установки Fish в Ubuntu наберите:

sudo apt install fish

Протестировать оболочку не заменяя ее для вашего терминала можно просто выполнив:

Если же вы хотите, чтобы эта оболочка использовалась по умолчанию, откройте Параметры профиля, и перейдите на вкладку и там отметьте Запускать команду как оболочку входа и Запускать другую команду вместо моей оболочки. Дальше в поле пропишите адрес файла оболочки fish: /usr/bin/fish:

Теперь давайте немного настроим новую оболочку. Как вы уже видели, при запуске показывается сообщение, что нужно нажать help чтобы получить справку, предлагаю его убрать.

Для того чтобы изменить приглашение выполните:

set fish_greeting «Have a lot of fun»

Можно не передавать никакой фразы, и тогда приглашение останется пустым.

В Fish нет файла .bashrc. Но зато есть каталог с настройками и функциями

/.config/fish/. Там вы найдете все функции, которые могут вызываться из оболочки, а также можете добавить туда свои функции, например создадим алиас для команды rm с помощью функции:

function rmi
rm -i $argv
end

Конечно, как и раньше осталась возможность использовать команду:

Ее нужно добавить в конец файла .config/fish/config.fish

Еще одной замечательной особенностью этой оболочки есть возможность настройки через графический интерфейс. Просто наберите:

Читайте также:  Theme customizer настройка темы wordpress

В открывшимся окне браузера вы можете очень просто настроить общую цветовую схему, а также формат приветствия не вникая в термины bash и коды цветов.

Выводы

Настройка терминала Ubuntu достаточно важное занятие, и важно сделать все как нужно, чтобы вам было удобно работать в системе. В этом вам поможет красивый интерфейс эмулятора терминала, а также функциональная и очень настраиваемая оболочка fish. В нашей статье мы затронули лишь часть возможных настроек, более подробную информацию вы можете найти в официальной документации. Если у вас остались вопросы, спрашивайте в комментариях!

Источник

Делаем Linux терминал удобнее и красивее

Идея статьи возникла только лишь в связи с ленью осваивать Tmux Terminal Multiplexer и ставить дополнительную надстройку к терминалу кали, дабы “сплитить” 1 сессию терминала на “мультиокна”. Не навязываю никому свою идею, но считаю ее более удобной в реализации процесса автоматизации работы с терминалом в довесок с плюшками и красивостями zsh. Кто знает устанавливая tnux нужно еще подключать курсор, делать замыкание активного акна при копировании строки в буфер обмена и много других совершенно не нужных манипуляций.

Итак, устанавливаем Deepin Ternimal который с недавних пор идет в составе репозиториев Кали Линукса

Затем открываем его и смотрим настройки:

Как мы видим управление слитами экрана уже с коробки, так же вкладки, которые можно переименовывать и мн. др, в том числе темы.

Дальше делаем его немного удобнее и красивее с помощью zsh

Делаем его основным окружением шела:

Устанавливаем надстройку Oh My zsh

Ставим шрифты для красивостей

Затем меняем тему оформления и ставим плагины:

в разделе ZSH_THEME= меняем на “agnoster

Плагин подсветки текста:

Плагин автоподстановки текста:

Дополняем строку конфигуратора в разделе plugins=(git extract web-search yum git-extras docker vagrant zsh-syntax-highlighting zsh-autosuggestions)

Ну и опять же кому что, а я пользуюсь быстрыми ll для листинга директорий и прописываю альяс:

Если хотите убрать хостнейм то в конфигурации прописываете так prompt_context() <>

Для применения внесенных изменений в активной консоли пишем

Ну и в довесок, у кого не прописан путь исплавляем это

Источник

Статья Красивый терминал в Linux.

Valkiria

Дождливая прибалтийская зима, воскресное пасмурное утро, желание ничегонеделания подталкивают меня на написание чего-то.
«Напишу-ка я хоть что-то для форума, который подпитывает меня знаниями и стимулирует к новым личным открытиям» — эта мысль уже не вылезет из головы, пока я её не реализую.
Вероятно, я разочарую тех читателей, кто ждёт от меня открытий в области пентеста. В статье не будет никакого хакинга, никакой анонимности или брутфорса ))
Мне хочется написать что-то свободное и приятное, что-то приносящее моральное удовлетворение мне и окружающим. Сегодня мне хочется сделать окружающий меня мир чуточку лучше.
Несколько дней назад я переустанавливала свой линукс. В этот раз выбор пал на Debian последней версии.
Переустановка системы затянулась на несколько дней, но вовсе не из-за моих кривых рук и пустоты в черепной коробке. А из-за желания достичь новых горизонтов в познании линукса. В очередной раз Linux убедил меня в истинности высказывания » Чем больше я знаю, тем больше понимаю, что ничего не знаю», в очередной раз я насладилась гимнастикой для ума от linux.
ЗАТЯНУЛО.
В этот раз я выбросила из своего Debian всё, что то, что казалось мне лишним на протяжении многих лет. Пользователи линукса со стажем, наверняка помнят его таким, каким он должен быть. Помнят чёрный экран и пробегающие строки бело-зелёного цвета во время загрузки системы. Помнят X-сервер, запускающийся заветным словом «startx».
Сейчас нет ничего, сейчас gdm, lightdm и аналоги убили прелесть этой ОС, поставили её на один уровень с Windows или Android. Сейчас многие линуксоиды не представляют себе, как в систему установить «иксы», . и так далее.

Эта ностальгия иногда мешает мыслить в нужном направлении )) Ещё немного и я расплачусь

Сейчас я расскажу, как иметь на своём домашнем линуксе красивый эмулятор терминала. Кстати, если Вы, мой уважаемый читатель, являетесь доисторическим динозавром, предпочитающим консоль графической оболочке, то будете приятно вознаграждены созерцанием чего-то более красочного на своём мониторе.

Согласитесь, иметь подобный эмулятор немного приятнее, чем наблюдать «что-то чёрное из коробки».
Не стану утомлять читателя своими размышлизмами, перейду сразу к делу.
Для того, чтобы иметь подобный терминал или его эмулятор, необходимо в директори пользователя создать три скрытых текстовых файла.
.bashrc_colors
.functions
.bashrc

# Сброс
RstColor=’\[\e[0m\]’ # Text Reset

# Обычные цвета
Black=’\[\e[0;30m\]’ # Black
Red=’\[\e[0;31m\]’ # Red
Green=’\[\e[0;32m\]’ # Green
Yellow=’\[\e[0;33m\]’ # Yellow
Blue=’\[\e[0;34m\]’ # Blue
Purple=’\[\e[0;35m\]’ # Purple
Cyan=’\[\e[0;36m\]’ # Cyan
White=’\[\e[0;37m\]’ # White

# Жирные
BBlack=’\[\e[1;30m\]’ # Black
BRed=’\[\e[1;31m\]’ # Red
BGreen=’\[\e[1;32m\]’ # Green
BYellow=’\[\e[1;33m\]’ # Yellow
BBlue=’\[\e[1;34m\]’ # Blue
BPurple=’\[\e[1;35m\]’ # Purple
BCyan=’\[\e[1;36m\]’ # Cyan
BWhite=’\[\e[1;37m\]’ # White

# Подчёркнутые
UBlack=’\[\e[4;30m\]’ # Black
URed=’\[\e[4;31m\]’ # Red
UGreen=’\[\e[4;32m\]’ # Green
UYellow=’\[\e[4;33m\]’ # Yellow
UBlue=’\[\e[4;34m\]’ # Blue
UPurple=’\[\e[4;35m\]’ # Purple
UCyan=’\[\e[4;36m\]’ # Cyan
UWhite=’\[\e[4;37m\]’ # White

# Фоновые
On_Black=’\[\e[40m\]’ # Black
On_Red=’\[\e[41m\]’ # Red
On_Green=’\[\e[42m\]’ # Green
On_Yellow=’\[\e[43m\]’ # Yellow
On_Blue=’\[\e[44m\]’ # Blue
On_Purple=’\[\e[45m\]’ # Purple
On_Cyan=’\[\e[46m\]’ # Cyan
On_White=’\[\e[47m\]’ # White

# Высоко Интенсивные
IBlack=’\[\e[0;90m\]’ # Black
IRed=’\[\e[0;91m\]’ # Red
IGreen=’\[\e[0;92m\]’ # Green
IYellow=’\[\e[0;93m\]’ # Yellow
IBlue=’\[\e[0;94m\]’ # Blue
IPurple=’\[\e[0;95m\]’ # Purple
ICyan=’\[\e[0;96m\]’ # Cyan
IWhite=’\[\e[0;97m\]’ # White

# Жирные Высоко Интенсивные
BIBlack=’\[\e[1;90m\]’ # Black
BIRed=’\[\e[1;91m\]’ # Red
BIGreen=’\[\e[1;92m\]’ # Green
BIYellow=’\[\e[1;93m\]’ # Yellow
BIBlue=’\[\e[1;94m\]’ # Blue
BIPurple=’\[\e[1;95m\]’ # Purple
BICyan=’\[\e[1;96m\]’ # Cyan
BIWhite=’\[\e[1;97m\]’ # White

# Высоко Интенсивные фоновые
On_IBlack=’\[\e[0;100m\]’ # Black
On_IRed=’\[\e[0;101m\]’ # Red
On_IGreen=’\[\e[0;102m\]’ # Green
On_IYellow=’\[\e[0;103m\]’ # Yellow
On_IBlue=’\[\e[0;104m\]’ # Blue
On_IPurple=’\[\e[0;105m\]’ # Purple
On_ICyan=’\[\e[0;106m\]’ # Cyan
On_IWhite=’\[\e[0;107m\]’ # White

#Значение la, при котором цифры станут красными
let CRIT_LOAD=2

function load_average <
# Load average
set — `cat /proc/loadavg`

Читайте также:  Локальный диск с безопасность настройка

five=$1
let int_five=`echo $five | cut -d ‘.’ -f1`

ten=$2
let int_ten=`echo $ten | cut -d ‘.’ -f1`

fifteen=$3
let int_fifteen=`echo $fifteen | cut -d ‘.’ -f1`

#FIVE
if [ $int_five -gt $CRIT_LOAD ]; then
echo -ne «\e[0;31m»
fi
echo -n » $five»
if [ $int_five -gt $CRIT_LOAD ]; then
echo -ne «\e[0;33m»
fi
#TEN
if [ $int_ten -gt $CRIT_LOAD ]; then
echo -ne «\e[0;31m»
fi
echo -n » $ten»
if [ $int_ten -gt $CRIT_LOAD ]; then
echo -ne «\e[0;33m»
fi
echo -ne «\e[0;33m»
#FIFTEEN
if [ $int_fifteen -gt $CRIT_LOAD ]; then
echo -ne «\e[0;31m»
fi
echo -n » $fifteen »
if [ $int_fifteen -gt $CRIT_LOAD ]; then
echo -ne «\e[0;33m»
fi
>

/.functions
PS1=»$Cyan┌──$RstColor[ $Yellow\[email protected]$Cyan\h$RstColor ] [$Yellow $(load_average) $RstColor] $RstColor[ $Cyan\t$RstColor ]\n$RstColor$Cyan├── $Green\w\n$Cyan└>$RstColor»
deby

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

Наиболее внимательные читатели, наверняка, нашли в содержании последнего файла подозрительное слово «deby».
Поспешу успокоить своих яростных критиков. Ещё немного терпения и ниже каждый сможет ознакомиться с содержанием и этого файла. Но сейчас несколько слов о его назначении. Файл «deby» предназначен только для дебианщиков, так как выводит в консоли вот такую дебиановую эмблему в виде закорючки с дополнительной информацией о системе. Мне эта фича показалась забавной, потому и считаю возможным поделиться ею с вами.

# Distributed under the terms of the GNU General Public License v3.
# See

for the full license text.

# Import libraries
import os, sys, subprocess, optparse, re, linecache
from subprocess import Popen, PIPE
from optparse import OptionParser
from getpass import getuser
from time import ctime, sleep

# Display [Comment/Uncomment to Enable/Disable information.]
display = [
‘user’, # Display Username
‘hostname’, # Display Machine Hostname
‘distro’, # Display Distribution
‘kernel’, # Display Kernel Version
‘uptime’, # Display System Uptime
‘wm’, # Display Window Manager
‘de’, # Display Desktop Environment
‘sh’, # Display Current Shell
‘term’, # Display Current Terminal
‘packages’, # Display Number of Packages Installed
‘cpu’, # Display CPU Model
‘ram’, # Display RAM Usage
‘disk’ # Display Disk Usage
]

# Array containing Values
result = []

# Options
if __name__==’__main__’:
parser = OptionParser(usage=’%prog [-s, —screenshot]’, description=’Archey is a system information tool written in Python.’, version=»%prog 0.2.8″)
parser.add_option(‘-s’, ‘—screenshot’,
action=’store_true’, dest=’screenshot’, help=’take a screenshot’)
(options, args) = parser.parse_args()

# Define processes for identifying Desktop Environmentss, Window Managers, Shells.
de_dict = <
‘gnome-session’: ‘GNOME’,
‘ksmserver’: ‘KDE’,
‘xfce4-session’: ‘Xfce’>

wm_dict = <
‘awesome’: ‘Awesome’,
‘beryl’: ‘Beryl’,
‘blackbox’: ‘Blackbox’,
‘compiz’: ‘Compiz’,
‘dwm’: ‘DWM’,
‘enlightenment’: ‘Enlightenment’,
‘fluxbox’: ‘Fluxbox’,
‘fvwm’: ‘FVWM’,
‘i3’: ‘i3’,
‘icewm’: ‘IceWM’,
‘kwin’: ‘KWin’,
‘metacity’: ‘Metacity’,
‘musca’: ‘Musca’,
‘openbox’: ‘Openbox’,
‘pekwm’: ‘PekWM’,
‘ratpoison’: ‘ratpoison’,
‘scrotwm’: ‘ScrotWM’,
‘wmaker’: ‘Window Maker’,
‘wmfs’: ‘Wmfs’,
‘wmii’: ‘wmii’,
‘xfwm4’: ‘Xfwm’,
‘xmonad’: ‘xmonad’>

sh_dict = <
‘zsh’: ‘Zsh’,
‘bash’: ‘Bash’,
‘dash’: ‘Dash’,
‘fish’: ‘Fish’,
‘ksh’: ‘Ksh’,
‘csh’: ‘Csh’,
‘jsh’: ‘Jsh’,
‘tcsh’: ‘Tcsh’>

# Define Colour Scheme

clear = ‘\x1b[0m’
blackB = ‘\x1b[0;30m’
blackB = ‘\x1b[1;30m’
redN = ‘\x1b[0;31m’
redB = ‘\x1b[1;31m’
greenN = ‘\x1b[0;32m’
greenB = ‘\x1b[1;32m’
yellowN = ‘\x1b[0;33m’
yellowB = ‘\x1b[1;33m’
blueN = ‘\x1b[0;34m’
blueB = ‘\x1b[1;34m’
magentaN = ‘\x1b[0;35m’
magentaB = ‘\x1b[1;35m’
cyanN = ‘\x1b[0;36m’
cyanB = ‘\x1b[1;36m’
whiteN = ‘\x1b[0;37m’
whiteB = ‘\x1b[1;37m’

# Find running processes.
def xmonadfix(str):
if re.compile(«xmonad»).match(str): return «xmonad»
return str
p1 = Popen([‘ps’, ‘-u’, getuser()], stdout=PIPE).communicate()[0].split(‘\n’)
processes = map(xmonadfix, [process.split()[3] for process in p1 if process])
p1 = None

# Find Distro.
DetectDistro = Popen([‘lsb_release’, ‘-i’], stdout=PIPE).communicate()[0].split(‘:’)[1].lstrip(‘\t’).rstrip(‘\n’)

# Print coloured key with normal value.
def output(key, value):
if DetectDistro == ‘Ubuntu’:
output =’%s%s:%s %s’ % (redB, key, clear, value)
if DetectDistro == ‘Arch’:
output = ‘%s%s:%s %s’ % (blueB, key, clear, value)
if DetectDistro == ‘Debian’:
output = ‘%s%s:%s %s’ % (redB, key, clear, value)
if DetectDistro == ‘Fedora’:
output = ‘%s%s:%s %s’ % (blueB, key, clear, value)
if DetectDistro == ‘CrunchBang’:
output = ‘%s%s:%s %s’ % (whiteN, key, clear, value)
if DetectDistro == ‘LinuxMint’:
output = ‘%s%s:%s %s’ % (greenB, key, clear, value)
result.append(output)

# RAM Function.
def ram_display():
raminfo = Popen([‘free’, ‘-m’], stdout=PIPE).communicate()[0].split(‘\n’)
ram = raminfo[1].split()
used = int(ram[2]) — int(ram[5]) — int(ram[6])
usedpercent = ((float(used) / float(ram[1])) * 100)
if usedpercent 33 and usedpercent = 67:
ramdisplay = ‘%s%s MB %s/ %s MB’ % (redB, used, clear, ram[1])
output(‘RAM’, ramdisplay)

# Screenshot Function.
screen = ‘%s’ % options.screenshot
def screenshot():
print ‘Taking shot in’,
list = range(1,6)
list.reverse()
for x in list:
print ‘%s..’ % x,
sys.stdout.flush()
sleep(1)
print ‘Say Cheeze!’
subprocess.check_call([‘scrot’])

# Operating System Function.
def distro_display():
arch = Popen([‘uname’, ‘-m’], stdout=PIPE).communicate()[0].rstrip(‘\n’)
if DetectDistro == ‘Debian’:
release = Popen([‘lsb_release’, ‘-r’], stdout=PIPE).communicate()[0].split(‘:’)[1].lstrip(‘\t’).rstrip(‘\n’)
distro = ‘Debian %s %s’ % (release, arch)
if DetectDistro == ‘Ubuntu’:
release = Popen([‘lsb_release’, ‘-r’], stdout=PIPE).communicate()[0].split(‘:’)[1].lstrip(‘\t’).rstrip(‘\n’)
distro = ‘Ubuntu %s %s’ % (release, arch)
if DetectDistro == ‘Arch’:
distro = ‘Arch Linux %s’ % arch
if DetectDistro == ‘Fedora’:
release = Popen([‘lsb_release’, ‘-r’], stdout=PIPE).communicate()[0].split(‘:’)[1].lstrip(‘\t’).rstrip(‘\n’)
distro = ‘Fedora %s %s’ % (release, arch)
if DetectDistro == ‘CrunchBang’:
release = Popen([‘lsb_release’, ‘-r’], stdout=PIPE).communicate()[0].split(‘:’)[1].lstrip(‘\t’).rstrip(‘\n’)
if DetectDistro == ‘LinuxMint’:
release = Popen([‘lsb_release’, ‘-r’], stdout=PIPE).communicate()[0].split(‘:’)[1].lstrip(‘\t’).rstrip(‘\n’)
distro = ‘Mint %s %s’ % (release, arch)
output(‘OS’, distro)

# Kernel Function.
def kernel_display():
kernel = Popen([‘uname’, ‘-r’], stdout=PIPE).communicate()[0].rstrip(‘\n’)
output (‘Kernel’, kernel)

def user_display():
username= os.getenv(‘USER’)
output (‘User’, username)

# Hostname Function.
def hostname_display():
hostname = Popen([‘uname’, ‘-n’], stdout=PIPE).communicate()[0].rstrip(‘\n’)
output(‘Hostname’, hostname)

# CPU Function.
def cpu_display():
file = open(‘/proc/cpuinfo’).readlines()
cpuinfo = re.sub(‘ +’, ‘ ‘, file[4].replace(‘model name\t: ‘, »).rstrip(‘\n’))
output (‘CPU’, cpuinfo)

# Uptime Function.
def uptime_display():
fuptime = int(open(‘/proc/uptime’).read().split(‘.’)[0])
day = int(fuptime / 86400)
fuptime = fuptime % 86400
hour = int(fuptime / 3600)
fuptime = fuptime % 3600
minute = int(fuptime / 60)
uptime = »
if day == 1:
uptime += ‘%d day, ‘ % day
if day > 1:
uptime += ‘%d days, ‘ % day
uptime += ‘%d:%02d’ % (hour, minute)
output(‘Uptime’, uptime)

Читайте также:  Meizu m3 note настройка отпечатка пальца

# Desktop Environment Function.
def de_display():
for key in de_dict.keys():
if key in processes:
de = de_dict[key]
output (‘Desktop Environment’, de)

# Window Manager Function.
def wm_display():
for key in wm_dict.keys():
if key in processes:
wm = wm_dict[key]
output (‘Window Manager’, wm)

# Shell Function.
def sh_display():
sh = os.getenv(«SHELL»).split(‘/’)[-1].capitalize()
output (‘Shell’, sh)

# Terminal Function.
def term_display():
term = os.getenv(«TERM»).split(‘/’)[-1].capitalize()
output (‘Terminal’, term)

# Packages Function.
def packages_display():
if DetectDistro == ‘Ubuntu’:
p1 = Popen([‘dpkg’, ‘—get-selections’], stdout=PIPE)
p2 = Popen([‘grep’, ‘-v’, ‘deinstall’], stdin=p1.stdout, stdout=PIPE)
p3 = Popen([‘wc’, ‘-l’], stdin=p2.stdout, stdout=PIPE)
packages = p3.communicate()[0].rstrip(‘\n’)
output (‘Packages’, packages)
if DetectDistro == ‘Arch’:
p1 = Popen([‘pacman’, ‘-Q’], stdout=PIPE)
p2 = Popen([‘wc’, ‘-l’], stdin=p1.stdout, stdout=PIPE)
packages = p2.communicate()[0].rstrip(‘\n’)
output (‘Packages’, packages)
if DetectDistro == ‘Debian’:
p1 = Popen([‘dpkg’, ‘—get-selections’], stdout=PIPE)
p2 = Popen([‘grep’, ‘-v’, ‘deinstall’], stdin=p1.stdout, stdout=PIPE)
p3 = Popen([‘wc’, ‘-l’], stdin=p2.stdout, stdout=PIPE)
packages = p3.communicate()[0].rstrip(‘\n’)
output (‘Packages’, packages)
if DetectDistro == ‘CrunchBang’:
p1 = Popen([‘dpkg’, ‘—get-selections’], stdout=PIPE)
p2 = Popen([‘grep’, ‘-v’, ‘deinstall’], stdin=p1.stdout, stdout=PIPE)
p3 = Popen([‘wc’, ‘-l’], stdin=p2.stdout, stdout=PIPE)
packages = p3.communicate()[0].rstrip(‘\n’)
output (‘Packages’, packages)
if DetectDistro == ‘Fedora’:
p1 = Popen([‘rpm’, ‘-qa’], stdout=PIPE)
p2 = Popen([‘wc’, ‘-l’], stdin=p1.stdout, stdout=PIPE)
packages = p2.communicate()[0].rstrip(‘\n’)
if DetectDistro == ‘LinuxMint’:
p1 = Popen([‘dpkg’, ‘—get-selections’], stdout=PIPE)
p2 = Popen([‘grep’, ‘-v’, ‘deinstall’], stdin=p1.stdout, stdout=PIPE)
p3 = Popen([‘wc’, ‘-l’], stdin=p2.stdout, stdout=PIPE)
packages = p3.communicate()[0].rstrip(‘\n’)
output (‘Packages’, packages)

# Disk Function.
def disk_display():
p1 = Popen([‘df’, ‘-Tlh’, ‘—total’, ‘-t’, ‘ext4’, ‘-t’, ‘ext3’, ‘-t’, ‘ext2’, ‘-t’, ‘reiserfs’, ‘-t’, ‘jfs’, ‘-t’, ‘ntfs’, ‘-t’, ‘fat32’, ‘-t’, ‘btrfs’, ‘-t’, ‘fuseblk’], stdout=PIPE).communicate()[0]
total = p1.splitlines()[-1]
used = total.split()[3]
size = total.split()[2]
usedpercent = float(re.sub(«[A-Z]», «», used).replace(‘,’,’.’)) / float(re.sub(«[A-Z]», «», size).replace(‘,’,’.’)) * 100
if usedpercent 33 and usedpercent = 67:
fs = ‘%s%s %s/ %s’ % (redB, used, clear, size)
output (‘Disk’, fs)

# Run functions found in ‘display’ array.
for x in display:
funcname=x+’_display’
func=locals()[funcname]
func()

# Array containing values.
result.extend([»]*(20 — len(display)))

# Result.
if DetectDistro == ‘Ubuntu’:
print «»»
%s .oyhhs: %s
%s ..—. %sshhhhhh- %s
%s -+++++++++`:%syyhhyo` %s
%s .— %s-++++++++/-.-%s::-` %s
%s . — %s:——:/+++/++/. %s
%s -. -. %s.:++++++: %s
%s . %s. -` %s.++++++- %s
%s./+++/-%s`-::- %s./////: %s
%s+++++++ %s. — %s
%s./+++/-`%s-::- %s:yyyyyo %s
%s «` `%s-. -` %s:yhhhhh: %s
%s -. -. %s`-ohhhhhh+ %s
%s . -` %s-o+///+oyhhyyyhy: %s
%s `.— %s/yhhhhhhhy+%s. %s
%s /hhhhhhhhh%s-.-. ; %s
%s `. //::- %s-. ; %s
%s `.-:-‘ %s
%s %s
%s»»» % ( redN, result[0], redB, redN, result[1], redB, redN, result[2], yellowB, redB, redN, result[3], yellowB, redB, result[4], yellowB, redB, result[5], redB, yellowB, redB, result[6], redB, yellowB, redB, result[7], redB, yellowB, result[8], redB, yellowB, redN, result[9], redB, yellowB, redN, result[10], yellowB, redN, result[11], yellowB, redN, result[12], yellowB, redN, yellowB, result[13], redN, yellowB, result[14], redN, yellowB, result[15], yellowB, result[16], yellowB, result[17], clear )

if DetectDistro == ‘Arch’:
print «»»%s
%s + %s
%s # %s
%s ### %s
%s ##### %s
%s ###### %s
%s ; #####; %s
%s +##.##### %s
%s +########## %s
%s ######%s#####%s##; %s
%s ###%s############%s+ %s
%s #%s###### ####### %s
%s .######; ;###;`\». %s
%s .#######; ;#####. %s
%s #########. .########` %s
%s ######’ ‘###### %s
%s ;#### ####; %s
%s ##’ ‘## %s
%s #’ `# %s%s «»» % (blueB, blueB, result[0], blueB, result[1], blueB, result[2], blueB, result[3], blueB, result[4], blueB, result[5], blueB, result[6], blueB, result[7], blueB, blueN, blueB, result[8], blueB, blueN, blueB, result[9], blueB, blueN, result[10], blueN, result[11], blueN, result[12], blueN, result[13], blueN, result[14], blueN, result[15], blueN, result[16], blueN, result[17], clear)

if DetectDistro == ‘Debian’:
print «»»%s
%s %s
%s _sudZUZ#Z#XZo=_ %s
%s _jmZZ2!!

__#2( %s
%s -Zo; +!4ZwerfgnZZXY’ %s
%s *#[,

%s
%s %s
%s «»» % (redB, redB, result[0], redB, result[1], redB, result[2], redB, result[3], redB, result[4], redB, result[5], redB, result[6], redB, result[7], redB, result[8], redN, result[9], redN, result[10], redN, result[11], redN, result[12], redN, result[13], redN, result[14], redN, result[15], redN, result[16], redN, result[17], clear)

if DetectDistro == ‘Fedora’:
print «»»
%s :/————:// %s
%s :——————:// %s
%s :————%s/shhdhyo/%s-:// %s
%s /————%somMMMNNNMMMd/%s-:/ %s
%s :————%ssMMMdo:/%s -:/ %s
%s :————%s:MMMd%s——- —:/ %s
%s /————%s:MMMy%s——- —/ %s
%s :—— —%s/+MMMh/%s— —: %s
%s :— %soNMMMMMMMMMNho%s ——: %s
%s :— %s+shhhMMMmhhy++%s ——: %s
%s :- ——%s:MMMy%s—————/ %s
%s :- ——%s/MMMy%s————-: %s
%s :- —-%s/hMMM+%s————: %s
%s :—%s:dMMNdhhdNMMNo%s————: %s
%s :—%s:sdNMMMMNds:%s———-: %s
%s :——%s:://:%s————:// %s
%s :———————:// %s
%s %s
%s «»» % ( blueN, result[0], blueN, result[1], blueN, whiteB, blueN, result[2], blueN, whiteB, blueN, result[3], blueN, whiteB, blueN, result[4], blueN, whiteB, blueN, result[5], blueN, whiteB, blueN, result[6], blueN, whiteB, blueN, result[7], blueN, whiteB, blueN, result[8], blueN, whiteB, blueN, result[9], blueN, whiteB, blueN, result[10], blueN, whiteB, blueN, result[11], blueN, whiteB, blueN, result[12], blueN, whiteB, blueN, result[13], blueN, whiteB, blueN, result[14], blueN, whiteB, blueN, result[15], blueN, result[16], blueN, result[17], clear )

if DetectDistro == ‘CrunchBang’:
print «»»
%s ___ ___ _ %s
%s / / / / | | %s
%s / / / / | | %s
%s / / / / | | %s
%s _______/ /______/ /______ | | %s
%s /______ _______ _______/ | | %s
%s / / / / | | %s
%s / / / / | | %s
%s / / / / | | %s
%s ______/ /______/ /______ | | %s
%s/_____ _______ _______/ | | %s
%s / / / / | | %s
%s / / / / |_| %s
%s / / / / _ %s
%s / / / / | | %s
%s /__/ /__/ |_| %s
%s %s
%s %s
%s»»» % ( whiteN, result[0], whiteN, result[1], whiteN, result[2], whiteN, result[3], whiteN, result[4], whiteN, result[5], whiteN, result[6], whiteN, result[7], whiteN, result[8], whiteN, result[9], whiteN, result[10], whiteN, result[11], whiteN, result[12], whiteN, result[13], whiteN, result[14], whiteN, result[15], whiteN, result[16], whiteN, result[17], clear )

Источник

Adblock
detector