Bestfilez.net - новости мира Hi-tech
18.09.24  
Последние новости
23 Январь 2019
23 Январь 2019
23 Январь 2019
23 Январь 2019
23 Январь 2019
23 Январь 2019
23 Январь 2019
23 Январь 2019
23 Январь 2019
23 Январь 2019
23 Январь 2019
23 Январь 2019
Linux OS

Красивый терминал в Linux

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

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

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



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



В этом месте считаю необходимым пояснить, что все описанные мною файлы слиты с бескрайних просторов интернета в различные времена. Я не являюсь автором ни одного знака в их содержании. Не думаю, что меня за это можно сильно осуждать, ведь вся информация взята из открытых источников. ))
Итак, копируем и вставляем в текстовый редактор содержание скрытого файла .bashrc_colors
# Сброс
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

Следующим привожу содержание скрытого файла .functions
#Значение 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
}

И наконец, содержимое скрытого файла .bashrc
source ~/.bashrc_colors
source ~/.functions
PS1="$Cyan┌──$RstColor[ $Yellow\u$Green@$Cyan\h$RstColor ] [$Yellow $(load_average) $RstColor] $RstColor[ $Cyan\t$RstColor ]\n$RstColor$Cyan├── $Green\w\n$Cyan└>$RstColor"
deby

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

Наиболее внимательные читатели, наверняка, нашли в содержании последнего файла подозрительное слово "deby".
Поспешу успокоить своих яростных критиков. Ещё немного терпения и ниже каждый сможет ознакомиться с содержанием и этого файла. Но сейчас несколько слов о его назначении. Файл "deby" предназначен только для дебианщиков, так как выводит в консоли вот такую дебиановую эмблему в виде закорючки с дополнительной информацией о системе. Мне эта фича показалась забавной, потому и считаю возможным поделиться ею с вами.
                                                         User: root
          _sudZUZ#Z#XZo=_               Hostname: debian
       _jmZZ2!!~---~!!X##wx              OS: Debian 9.6 x86_64
    .<wdP~~            -!YZL,                 Kernel: 4.9.0-8-amd64
   .mX2'       _xaaa__     XZ[.              Uptime: 1:31
   oZ[      _jdXY!~?S#wa   ]Xb;          Window Manager: Window Maker
  _#e'     .]X2(     ~Xw|  )XXc             Shell: Bash
.2Z`      ]X[.       xY|  ]oZ(                  Terminal: Xterm-256color
.2#;      )3k;     _s!~   jXf`                  Packages: 713
  1Z>      -]Xb/    ~    __#2(                CPU: Intel(R) Core(TM) i5-7400 CPU @ 3.00GHz
  -Zo;       +!4ZwerfgnZZXY'               RAM: -14805 MB / 15997 MB
   *#[,        ~-?!!!!!!-~                           Disk: 555G / 1,9T
    XUb;.                        
     )YXL,,                      
       +3#bc,                    
         -)SSL,,                  
            ~~~~~

содержимое файла
#!/usr/bin/env python2.7
#
# Archey [version 0.2.8]
#
# Archey is a system information tool written in Python.
#
# Maintained by Melik Manukyan <melik@archlinux.us>
# ASCII art by Brett Bohnenkamper <kittykatt@silverirc.com>
# Changes Jerome Launay <jerome@projet-libre.org>
# Fedora support by YeOK <yeok@henpen.org>

# Distributed under the terms of the GNU General Public License v3.
# See http://www.gnu.org/licenses/gpl.txt 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:
ramdisplay = '%s%s MB %s/ %s MB' % (greenB, used, clear, ram[1])
output('RAM', ramdisplay)
if usedpercent > 33 and usedpercent < 67:
ramdisplay = '%s%s MB %s/ %s MB' % (yellowB, used, clear, ram[1])
output('RAM', ramdisplay)
if 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)

# 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:
fs = '%s%s %s/ %s' % (greenB, used, clear, size)
output ('Disk', fs)
if usedpercent > 33 and usedpercent < 67:
fs = '%s%s %s/ %s' % (yellowB, used, clear, size)
output ('Disk', fs)
if 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!!~---~!!X##wx %s
%s .<wdP~~ -!YZL, %s
%s .mX2' _xaaa__ XZ[. %s
%s oZ[ _jdXY!~?S#wa ]Xb; %s
%s _#e' .]X2( ~Xw| )XXc %s
%s .2Z` ]X[. xY| ]oZ( %s
%s .2#; )3k; _s!~ jXf` %s
%s 1Z> -]Xb/ ~ __#2( %s
%s -Zo; +!4ZwerfgnZZXY' %s
%s *#[, ~-?!!!!!!-~ %s
%s XUb;. %s
%s )YXL,, %s
%s +3#bc, %s
%s -)SSL,, %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 )

if DetectDistro == 'LinuxMint':
print """%s %s
%s MMMMMMMMMMMMMMMMMMMMMMMMMmds+. %s
%s MMm----::-://////////////oymNMd+` %s
%s MMd %s/++ %s-sNMd: %s
%s MMNso/` %sdMM `.::-. .-::.` %s.hMN: %s
%s ddddMMh %sdMM :hNMNMNhNMNMNh: `%sNMm %s
%s NMm %sdMM .NMN/-+MMM+-/NMN` %sdMM %s
%s NMm %sdMM -MMm `MMM dMM. %sdMM %s
%s NMm %sdMM -MMm `MMM dMM. %sdMM %s
%s NMm %sdMM .mmd `mmm yMM. %sdMM %s
%s NMm %sdMM` ..` ... ydm. %sdMM %s
%s hMM- %s+MMd/-------...-:sdds %sMMM %s
%s -NMm- %s:hNMNNNmdddddddddy/` %sdMM %s
%s -dMNs-``%s-::::-------.`` %sdMM %s
%s `/dMNmy+/:-------------:/yMMM %s
%s ./ydNMMMMMMMMMMMMMMMMMMMMM %s
%s %s
%s %s
%s""" % ( whiteB, result[0], whiteB, result[1], whiteB, result[2], whiteB, greenB, whiteB, result[3], whiteB, greenB, whiteB, result[4], whiteB, greenB, whiteB, result[5], whiteB, greenB, whiteB, result[6], whiteB, greenB, whiteB, result[7], whiteB, greenB, whiteB, result[8], whiteB, greenB, whiteB, result[9], whiteB, greenB, whiteB, result[10], whiteB, greenB, whiteB, result[11], whiteB, greenB, whiteB, result[12], whiteB, greenB, whiteB, result[13], whiteB, result[14], whiteB, result[15], whiteB, result[16], whiteB, result[17], clear )

if screen == 'True':
screenshot()

Желающие иметь у себя в консоли эмблему системы могут скопировать текст в свой текстовый редактор, и сохранить на диск под именем "deby" без расширения.
Далее необходимо сделать файл исполняемым командой
# chmod a+x deby
и скопировать в директорию /usr/bin
Можно также скопировать с гитхаба.
wget https://raw.github.com/DuMOHsmol/archey/master/archey
chmod a+x archey
sudo mv archey /usr/bin/deby
В случае, если с Вашим оконным менеджером вдовесок устанавливается эмулятор терминала XTerm (не гномовский, не KDE-шный эмуляторы), то для изменения его внешнего вида полезно будет в домашней директории пользователя создать дополнительный файл XTerm со следующим содержанием:
XTerm*foreground: gray
XTerm*background: black
XTerm*cursorColor: green
XTerm*scrollBar: True
XTerm*saveLines: 800
XTerm*font: -misc-fixed-medium-r-normal-*-15-140-75-75-c-90-iso10646-*
XTerm*geometry: 103x46+0+17
По-моему, это красиво

На этом - всё.
Пусть ваша консоль станет немного красочнее

Источник: https://codeby.net/threads/krasivyj-terminal-v-linux.66309/

Опубликовано 23 Январь 2019 Sunnych

Новости Hi-tech
Яндекс.Метрика

sitemap sitemap.xml
Сайт сделан на SiNG cms © 2010-2020