LINUX.ORG.RU

Галерея - Архив 2022, Февраль

Пробую разные программы, написанные на Rust

Галерея — Скриншоты

Решил попробовать и посмотреть, как там поживает Rust. Ведь все хвалят его. Так что с помощью rustup.rs установил его. Установка пошла успешно. Установщик даже сам прописался в $PATH. Неплохо так.

Потом решил опробовать тайлинговый wm, который тоже создан на Rust. Так что, сделал git clone https://github.com/leftwm/leftwm и cargo build --release. Все установилось. Правда, по дефолту меня встретил чёрный супрематический квадрат (как и в xmonad). Да, я знаю, что фишка этого wm-темы, но я хотел посидеть на дефолте (ненужны мне панельки). Так что, свои программы (feh, compton и setxkbmap -layout) я прописал в .xinitrc. Все завелось, но compton и feh начал плодить зомби. В чем проблема? А в том, что все завязано на так называемых темах. В них присутствуют скрипты, в которых прописанный авто запуск feh и compton, плюс еще что-то по мелочам…и сразу хочется задать вопрос, почему так усложнять жизнь? Все завязано на темах…ну да ладно. Установил я xmobar (данный wm поддерживает lemonbar и polybar), командой создал нужную директорию mkdir -p ~/.config/leftwm/themes, поместил туда темы, и выбрал тему с xmobar-ln -s basic_xmobar/ current. Все заработало. Правда пришлось внести корректировку в файл xmobar-config.hs, отключив кое какие модули. После недельного юзания мой вердикт-работать можно, wm стабильный и предсказуемый, имеет много лайаутов, хорошо дружит в мультимониторной конфигурацией. Мне он понравился.

Также установил эмулятор терминала, под названием wezterm. Терминал хорош, не очень то и прожорлив («кушает» меньше, нежели terminator), gpu-accelerated, хорошо дружит с emoji и другими модными приблудами. Подробнее, можно почитать вот тут. Как запасной вариант еще имеется старый добрый alacritty. Тут я поменял цветовую палитру и шрифты. Смею заметить, что шрифты в wezterm отображаются лучше, нежели в alacritty, хотя последний тоже gpu-accelerated. Как то так.

Другая программа-аналог tmux. Тоже написанная на rust, и по моему субъективному ощущению, работает быстро, имеет кучу опций и настроек

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

Другая cli программа, это простой и легкий клиент irc, под названием tiny. Тоже на rust. Легкая и шустрая, с понятным конфигурационным файлом, приятными цветами и т.п. Пользуюсь на постоянной основе.

Для cat, тоже нашел замену. Название bat. Вещь очень удобная. Комментарии ненужны…

Для замера дискового пространства, использую bat. Это аналог duf, но с более приятным выводом информации.

Использую, (как замену rm) rip. Интересная и удобная утилита, про которую можно почитать вот тут

Shell prompt это starship. Он тоже на rust, а за процессами слежу с помощью bottom.

Вместо браузера используется qutebrowser, который установленный в virtualenv, так как в репах Дебиана он старый как мамонт, а в новой версии много чего исправлено. Так я получил отличную комбинацию стабильности и функционала.

С почти полным списком (неофициальным) программ, написанных на rust, можно ознакомится вот тут.

>>> Просмотр (1920x1080, 441 Kb)

 ,

Odalist
()

Intel GVT-g: Ubuntu 20.04.4 в гостях у AlmaLinux 8.5

Галерея — Скриншоты

Собственно, в заголовке всё сказано. Для тех, кто не понял — Intel GVT-g это технология, что позволяет отдавать часть ресурсов встроенной видеокарты в виртуальную машину так, чтобы вся графика внутри ВМ считалась напрямую на GPU хоста. Аналог аппаратного ускорения виртуализации, что применяется для CPU уже давно. Да, это здорово улучшает производительность графики в виртуальных машинах, хотя лично я и не замерял разницу с QXL (стандартная виртуальная видеокарта в Qemu).

Эта технология появилась в Linux уже достаточно давно, но до сих пор требует кучу манипуляций руками, чтобы её завести. Я заводил через связку libvirtd+qemu-kvm, что является типичным решением для RHEL-based дистрибутивов, который у меня и стоит. Сразу скажу, что мой способ не единственный, и даже в рамках той же связки можно и иначе настроить. Но расскажу, как сделал я (если честно, это просто первый способ, что у меня сработал, я и другие пробовал):

  • Для начала, поставил все пакеты для виртуализации и включил libvirtd:
yum groupinstall "Virtualization Platform" "Virtualization Hypervisor" "Virtualization Client" "Virtualization Host"
systemctl enable --now libvirtd
  • Добавил своего пользователя в нужные группы: usermod -aG libvirt,kvm vsevolod

  • Этот шаг опционален, и сделал я его под конец, но имеет смысл включить Nested Virtualisation (позволяет запускать ВМ внутри ВМ с ускорением):

[vsevolod@localhost ~]$ grep -v '^#' /etc/modprobe.d/kvm.conf
options kvm_intel nested=1
  • Включил саму технологию Intel GVT-g, я делал это по этому мануалу: https://blog.tmm.cx/2020/05/15/passing-an-intel-gpu-to-a-linux-kvm-virtual-machine/ — сразу оговорюсь, что я делал далеко не всё, как там написано, и помимо этого ещё и на ArchWiki ориентировался. Но именно включил, как там и сказано:
[vsevolod@localhost ~]$ grep -v '^#' /etc/default/grub | grep GRUB_CMDLINE_LINUX
GRUB_CMDLINE_LINUX="crashkernel=auto i915.enable_gvt=1 i915.enable_fbc=0"
[vsevolod@localhost ~]$ cat /etc/modules-load.d/kvm-gvt-g.conf
kvmgt
vfio-iommu-type1
vfio-mdev
  • После включения я настроил так, чтобы виртуальная видеокарта появлялась при загрузке автоматически:
[vsevolod@localhost ~]$ cat /etc/systemd/system/add-gvt-g-device.service 
[Unit]
Description=Add Intel GVT-g virtual GPU on boot

[Service]
ExecStart=/usr/local/bin/add-gvt-g.sh
Type=oneshot

[Install]
WantedBy=graphical.target
After=graphical.target
[vsevolod@localhost ~]$ cat /usr/local/bin/add-gvt-g.sh
#!/bin/bash
echo 'a3356d9c-35e6-4f1a-aac9-b075e5cb5d1c' > /sys/bus/pci/devices/0000:00:02.0/mdev_supported_types/i915-GVTg_V4_4/create
exit
  • А вот самое интерсное — настройку виртуальной машины так, чтобы она использовала GVT-g, я уже проводил в основном по ArchWiki: https://wiki.archlinux.org/title/Intel_GVT-g , там много методов это сделать, я выбрал тот, что у меня сработал и был мне достаточен. Возможно, другие из неиспробованых тоже бы сработали, пока не проверял.

  • Честно говоря, я до сих пор делаю setenforce 0 перед запуском ВМ, так как я пока не разобрался с настройкой SELinux, и он при запуске ВМ с GVT-g страшно ругается.

  • И метод, что я выбрал, имеет особенность — экран у ВМ становится доступен только после старта самого Linux, GRUB2 в принципе не виден, как я понял. Поэтому приходится сначала просто делать ВМ, потом уже ставить в обычную ВМ Linux, а уже потом перенастраивать ВМ на GVT-g.

  • Ну установка довольно банальна, я делал всё через Virtual Machine Manager: скачал в /var/lib/libvirt/images/ .iso нужного Linux, потом создал ему там диск qemu-img create -f qcow2 ubuntu2004.qcow2 128G (в этой версии virt-manager вместо динамических статические диски делает, вроде баг такой), после чего поставил и настроил ОС — ничего особенного, чтобы было что рассказывать.

  • Уже после установки выключил ВМ и переделал её на использование GVT-g, сначала забекапил конфиг virsh dumpxml Ubuntu > Ubuntu-backup.xml, после чего открыл на редактирование через virsh edit Ubuntu, и там вот что сделал:

  • Заменил первую строку конфига <domain type='kvm'> на <domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>

  • Удалил все устройства <graphics> и <video>, после чего добавил нужные мне:

    <hostdev mode='subsystem' type='mdev' managed='no' model='vfio-pci' display='on'>
      <source>
        <address uuid='a3356d9c-35e6-4f1a-aac9-b075e5cb5d1c'/>
      </source>
    </hostdev>
    <graphics type='spice'>
      <listen type='none'/>
      <gl enable='yes' rendernode='/dev/dri/by-path/pci-0000:00:02.0-render'/>
    </graphics>
    <video>
      <model type='none'/>
    </video>
  • После сохранения конфига и старта ВМ всё работает, более ничего настраивать не нужно.

P. S.: X11 на хосте потому, что ещё я VirtualBox использую, а он с Wayland не дружит; а ядро у гостя lowlatency потому, что так звук на проброшенной USB звуковой карте не глючит.

>>> Просмотр (1920x1080, 417 Kb)

 , , , ,

Vsevolod-linuxoid
()

Мой Neovim

Галерея — Скриншоты

Решил показать Neovim на моем компьютере под управлением OS Manjaro Linux KDE.

Перешёл полностью с (Sublime Text и PyCharm) на NeoVim для кодинга на python.

Плагины, привносящие функциональность:

  • coc.nvim и coc-python coc-pyright - для автодополнений и вывода функций;
  • NERDTree - файловый менеджер;
  • tagbar - отображений тегов исходников;
  • toogleterm - встроенный терминал. Сам конфиг:
:set number
:set guifont=JetBrains\ Mono:h10
:set autoindent
:set tabstop=4
:set shiftwidth=4
:set smarttab
:set softtabstop=4
:set mouse=a



call plug#begin()

    Plug 'https://github.com/vim-airline/vim-airline'
    Plug 'https://github.com/preservim/tagbar' 
    Plug 'preservim/nerdtree'
    Plug 'https://github.com/rafi/awesome-vim-colorschemes'
    Plug 'https://github.com/ryanoasis/vim-devicons'
    Plug 'https://github.com/neoclide/coc.nvim'
    Plug 'akinsho/toggleterm.nvim'
    Plug 'crispgm/nvim-tabline'
    
    set encoding=UTF-8
nmap <F8> :TagbarToggle<CR>
:set completeopt-=preview 
source ~/.local/share/nvim/plugged/awesome-vim-colorschemes/colors/minimalist.vim
call plug#end()
:set guitablabel=%N\ %f

g:tablineclosebutton

autocmd TermEnter term://*toggleterm#*
      \ tnoremap <silent><c-t> <Cmd>exe v:count1 . 

nnoremap <C-Left> :tabprevious<CR>
nnoremap <C-Right> :tabnext<CR>
nnoremap <C-P> :tabnew<CR>
nnoremap <C-q> :tabclose<CR>
nnoremap <silent><c-t> <Cmd>exe v:count1 . "ToggleTerm"<CR>
inoremap <silent><c-t> <Esc><Cmd>exe v:count1 . 

nnoremap <C-g> :NERDTree<CR>
nnoremap <C-f> :NERDTreeToggle<CR>

Ссылки:

>>> Просмотр (1920x1080, 160 Kb)

 , , , ,

enep
()

Возвращение блудного сына

Галерея — Скриншоты

ЛОР, привет.

Примерно лет 10 я не пользовался Linux на декстопе, это не мешало мне гонять демонов на серверах и использовать на офтопике софт, который работает и под онтопик.

Что я ожидал? Что все будет работать, ну как и раньше, все работало после некоторых экспериментов, но был уверен что 10 лет не прошли даром.

Gnome оставляет приятное впечатление, этим хочется пользоваться, за 4 дня использования ни разу не упал, чего в прочем и раньше не было.

Сначала я начал прикручивать Cisco AnyConnect для рабочего VPN, но быстро спохватился, что для протокола данного соединения уже есть рабочий аналог, интегрированный в Network Manager, хоть и слегка кривовато, но это все мелочи.

Самая большая сложность, которая у меня возникла — это RDP клиент, как ни странно. Каков путь линуксоида, который хочет новую программу (в Ubuntu)?

sudo apt-get install something
10 лет назад это так и было. Сначала я попробовал штатную Remmina, не мог переключить раскладку в сеансе, далее я вспомнил про PPA, там версия программы была свежее. Уже сохранялись выбранные опции, но раскладка переключалась через раз. И что, оказывается, разработчик Remmina предлагает ставить свое приложение через snap! Оказывается здесь почти все так установлено, имею ввиду прикладной софт. И, о чудо, вопрос решился, волосы стали мягкими и шелковистыми, стало можно работать.

Что еще порадовало: проприетарный софт стал работать в Ubuntu не хуже чем в офтопике: Webex, Skype, Telegram, Viber, WPS Office, Google Chrome и даже хромой ёж!

То ли еще будет?

>>> Просмотр (1920x1080, 1378 Kb)

 , ,

TolkoSprosit
()

Немного ностальгии

Галерея — Скриншоты

Что-то потянуло на ностальгию…

powerbook g4 15"

>>> Просмотр (1280x854, 373 Kb)

 ,

tigris
()

Бубен, чтобы задабривать технологических Богов

Галерея — Рабочие места

Как Джедаи собирают себе световой меч, так и ИТшники (не только админы, но и разрабы с инженерами) должны следовать древним традициям! Налицо тенденция забвения древних традиций, и сегодня чаще помнят о корнях только бородатые стареющие олды... на днях я решил немного исправить статистику по этим делам, и таки забацал этот Артефакт. Получилось не сразу, Боги приняли моё жертвоприношение со второй попытки. На таинство было пожертвовано:

- лицушный DVD Microsoft Windows 8.1 Pro x64;

- лицушный DVD Astra Linux CE Орёл x64;

- 24 дискеты стандарта 3.5 дюйма с сертификатами и цифровыми подписями (нужны только металлические ступицы, которые будут образовывать двойные музыкальные колокольчики);

- 12 болтов М4 на 30 мм (на фото 45 мм из первой попытки, такие будут слишком длинные);

- 36 гаек с фланцем (для фиксации болтов к дискам);

- 12 стандартных гаек (регулировка хода колокольчиков, потому что они там расположены внахлёст);

- 48 шайб.

Вроде задобрил, вроде получилось). Все гайки слегка прокапал моментальным прозрачным клеем - разобрать можно, но само точно не открутится. Для ровного сверления отверстий использовал бумажный шаблон, который наклеивал на водорастворимый клей. Полминуты под струёй воды, и диск чистый.

Как оно работает? Линь лечит компы, вдохновляет кодера на аккуратный и читабельный код, повышает настроение, очищает печень пользователя от шлаков, уводит «всяких сущностей в виде гномиков»(С) и творит прочие крайне сомнительные чудеса. Винда - отпугивает злых духов, насылает порчу на супостатов, помогает добыть огонь (когда задница бомбить начинает). Подойдёт даже новичкам, тут достаточно постучать в нужную сторону ладонью. Продвинутые знают как использовать всю мощь Артефакта, годится в качестве метательного орудия (оно тяжёленькое). Rinaldus, готово;).

>>> Просмотр (3270x5100, 2783 Kb)

 , , , ,

NeTC
()

Домашнее рабочее место + ретроразработка

Галерея — Рабочие места

На машинке Debian 10 с запущенным свежескомпиленным эмулем hatari 2.3.1.

Хобби — ретроразработка. Поэтому, в эмуле запущен легендарный ассемблер DevPac-3 от HiSoft. Сижу, ковыряю STEшный блиттер :)

Кроме Atari, у меня успешно эмулируются амиги, спектрумы, MSXы и даже БК-шка.

( читать дальше... )

>>> Просмотр (4896x3672, 4820 Kb)

 , ,

max_power
()

KolibriOS в стиле Opera GX

Галерея — Скриншоты

Мне нравится дизайн Opera GX, поэтому я сделал скин GX_Red для KolibriOS.

Как вам такое оформление?

>>> Просмотр (1920x1080, 602 Kb)

 ,

ConLenov
()