LINUX.ORG.RU

Сообщения dyonya

 
Форум — Desktop

Установить GNOME на Gentoo с OpenRC

GNOME в последнее время всё больше вендорлочится на SystemD, а хочется принципиально (и из спортивного интереса) попробовать с OpenRC. Есть пакеты для этого: elogind, gnome-session-openrc и т.д.

Ну вот я поставил профиль GNOME, собрал пакет gnome-light и… лажа. Стартует нормально, но некорректно работает кнопка выключения: не появляется пунктов «выключить» и «перезагрузить». Как будто dbus/polkit/elogind не в ладах. Также отсутствует ползунок громкости, хотя собрал pipewire с флагом pulseaudio. И, что самое странное, не работают кастомные шорткаты: вот было у меня настроено Super+Q для открытия терминала — и никак, хоть убейся: просто вводит обычную q и игнорирует сочетание.

Новых гайдов не нашёл. Все видеоролики а ля «GNOME + Gentoo» протухли. Так же и официальная Википедия. Решения нейросети тоже не помогли.

Вот и спрашиваю. Может, кто-нибудь из здешних Ъ-гентушников ставил связку GNOME + Gentoo + OpenRC и может поделиться опытом? Заранее спасибо!

 , , ,

dyonya
()
Форум — Talks

GNOME в России — всё?

Вышло обновление GNOME 50, недавно появилось в репозиториях Arch’а. Накатил. Всё работает, но расширения отключились. Стал выяснять, в чём дело. Они не могут обновиться.

gnome.org и поддомены перестали грузить.

Понимаю: белые списки, все дела. Но Альт рабочая станция — самый распиаренный отечественный дистрибутив — по умолчанию идёт с GNOME.

Поделитесь советом: есть ли зеркала расширений? Не хочется вручную качать с гитхаба расширения.

 , , ,

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

Hyprland, Gentoo, Unix-way

Thinkpad x395 — моя основная машинка для работы и учёбы. Он достаточно компактен, чтобы влазить в рюкзак, достаточно мобильный, чтобы работать за ним в любых выездных условиях, но и достаточно производительный, чтобы компилировать @world.

Трекпойнт повышает манёвренность, но елозить мышью не круто: многие программисты давно инволюционировали до текстовых интерфейсов и отвергли иллюзорное удобство так называемых «юзер-френдли» интерфесов, жрущих гигабайты ОЗУ.

Хочется тайлинга с повсеместным vim-like управлением и минимальным аппетитом к ресурсам устройства.

Hyprland — мой любимый WM (поправьте, если это композитор: я в музыке слаб). Его хают за свистопердельность, но все рюшечки отключаются: по мановению конфига можно быстро создать систему без анимаций, блюра и теней. Универсальное окружение, куда добавляют много приятного: зум, scrolling layout (как в niri).

Собственно лайаут — dwindle. Все окна на виду (2 - 4 штуки на рабочем пространтсве). Для диагонали 13 дюймов — самое удобное (по мне!) решение.

На первом скриншоте характеристики и просмоторщики контента: изображений и видео.

Далее — типичное рабочее пространство: терминал и браузер. Любой текст пишу в Vim. Расширений в нём по минимуму: цветовая схема, поддержка языков, автодополнение и анализ кода.

На третьем скриншоте продемонстрированы самопальные shell-портянки для управления системой (слева). Вот уж поистине: программа должна выполнять одну функцию, но выполнять её качественно! Концепция бара лично мне не удобна: требуется редко, обновляется постоянно.

Тут же по полной раскрывается, что я поклонник программ от dnkl. Они написаны на Си, собираются за секунды, делают ровно то, что от них требуется, кушать не просят, настраиваются. Среди них:

  • Терминал foot
  • Менеджер приложений fuzzel
  • Демон уведомлений fnott
  • Отправлялка уведомлений fyi (codeberg.org)

Как видно по уведомлениям, можно узнать цвет пикселя на экране (через hyprpicker) и скопировать его. То же работает со скриншотами, подтверждая мощь unix-way: grim, slurp, imagemagick, hyprpicker, fyi, shell работают как эмерджентная система.

Последний скриншот просто just for fun :)

Обоина угарная, взята с реддита. Оформление в тёмных тонах, так как работаю в основном ночью. Цветовая тема — что-то вроде material. В системе полный набор программ для любой задачи: игры, IDE, игровой движок Godot, видеоредактор Kdenlive. Офисный пакет отсутсвует by design: ибо зачем, когда есть LaTeX? Пишу там курсовые, переводы книг и даже ноты: Lilypond объединяет мои любимые Scheme и LaTeX. Читалка электронных книг — Zathura.

Я идейный копимист и потому обеими руками за GPL, простоту и модульность. Между тем не гнушаюсь Wayland, Hyprland и программу для показа обоев на Rust. Просто время движется вперёд, невзирая на наши жалобы. И это нормально. В этом и есть гармония современности, диалектический закон отрицания отрицания: надо взять у предков (атлантов, на плечах которых мы стоим) лучшее и сохранить это, приумножить и вместе с тем быть открытым новому, лечиться от снобизма и вместо постоянных холиваров объединить наши усилия для создания качественного ПО!

Таков мой взгляд на рабочее окружение. Делитесь вашим мнением! На каком из скриншотов у вас из глаз потекло смузи? ;)

 , , , ,

dyonya
()
Форум — Admin

Btrfs некорректно монтирует

Привет, ЛОР!

Использую Btrfs и много subvolume’ов: предположительно для разных ОС; сейчас — Gentoo (основная) и Arch aka тестовый полигон.

Некоторые разделы должны монтироваться без сжатия: /mnt, log, cache, ~/Media (уже сжатые файлы).

Вот fstab:

/dev/efi          	/boot/efi 	vfat      	rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro	0 2

/dev/btrfs           	/         	btrfs     	rw,noatime,compress=zstd:1,ssd,space_cache=v2,subvol=/@gentoo	0 1

/dev/btrfs           	/home     	btrfs     	rw,noatime,compress=zstd:1,ssd,space_cache=v2,subvol=/@home	0 2

/dev/btrfs           	/snapshots	btrfs     	rw,noatime,compress=zstd:1,ssd,space_cache=v2,subvol=/@gentoo-snapshots	0 0

/dev/btrfs           	/var/log  	btrfs     	defaults,nodatacow,ssd,space_cache=v2,subvol=/@gentoo-log	0 0

/dev/btrfs           	/var/cache	btrfs     	rw,noatime,nodatacow,ssd,space_cache=v2,subvol=/@gentoo-cache	0 0

/dev/btrfs           	/var/db/repos/gentoo	btrfs     	rw,noatime,compress=zstd:1,ssd,space_cache=v2,subvol=/@gentoo-portage	0 0

/dev/btrfs           	/mnt	   	btrfs     	rw,noatime,compress=none,ssd,space_cache=v2,subvol=/@mnt 	0 0

/dev/btrfs           	/home/dekabu/Media	   	btrfs     	rw,noatime,compress=no,compress-force=no,nodatacow,ssd,space_cache=v2,subvol=/@media 	0 0

/home/dekabu/Media/Music	/home/dekabu/Music	none	bind
/home/dekabu/Media/Videos	/home/dekabu/Videos	none	bind
/home/dekabu/Media/Games	/home/dekabu/Games	none	bind
/home/dekabu/Media/Pictures	/home/dekabu/Pictures	none	bind

Но оно упорно монтируется с compress=zstd:1!!

Вывод команды mount:

/dev/sda3 on / type btrfs (rw,noatime,compress=zstd:1,ssd,discard=async,noacl,space_cache=v2,subvolid=272,subvol=/@gentoo)
devtmpfs on /dev type devtmpfs (rw,nosuid,noexec,relatime,size=10240k,nr_inodes=478627,mode=755)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
tmpfs on /run type tmpfs (rw,nosuid,nodev,size=766696k,nr_inodes=819200,mode=755)
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
debugfs on /sys/kernel/debug type debugfs (rw,nosuid,nodev,noexec,relatime)
tracefs on /sys/kernel/tracing type tracefs (rw,nosuid,nodev,noexec,relatime)
mqueue on /dev/mqueue type mqueue (rw,nosuid,nodev,noexec,relatime)
fusectl on /sys/fs/fuse/connections type fusectl (rw,nosuid,nodev,noexec,relatime)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
selinuxfs on /sys/fs/selinux type selinuxfs (rw,relatime)
shm on /dev/shm type tmpfs (rw,nosuid,nodev,noexec,relatime)
efivarfs on /sys/firmware/efi/efivars type efivarfs (rw,nosuid,nodev,noexec,relatime)
cgroup2 on /sys/fs/cgroup type cgroup2 (rw,nosuid,nodev,noexec,relatime,nsdelegate)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,nosuid,nodev,noexec,relatime)
/dev/sda1 on /boot/efi type vfat (rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro)
/dev/sda3 on /home type btrfs (rw,noatime,compress=zstd:1,ssd,discard=async,noacl,space_cache=v2,subvolid=275,subvol=/@home)
/dev/sda3 on /snapshots type btrfs (rw,noatime,compress=zstd:1,ssd,discard=async,noacl,space_cache=v2,subvolid=273,subvol=/@gentoo-snapshots)
/dev/sda3 on /var/log type btrfs (rw,relatime,compress=zstd:1,ssd,discard=async,noacl,space_cache=v2,subvolid=276,subvol=/@gentoo-log)
/dev/sda3 on /var/cache type btrfs (rw,noatime,compress=zstd:1,ssd,discard=async,noacl,space_cache=v2,subvolid=277,subvol=/@gentoo-cache)
/dev/sda3 on /var/db/repos/gentoo type btrfs (rw,noatime,compress=zstd:1,ssd,discard=async,noacl,space_cache=v2,subvolid=274,subvol=/@gentoo-portage)
/dev/sda3 on /mnt type btrfs (rw,noatime,compress=zstd:1,ssd,discard=async,noacl,space_cache=v2,subvolid=292,subvol=/@mnt)
/dev/sda3 on /home/dekabu/Media type btrfs (rw,noatime,compress=zstd:1,ssd,discard=async,noacl,space_cache=v2,subvolid=295,subvol=/@media)
/dev/sda3 on /home/dekabu/Music type btrfs (rw,noatime,compress=zstd:1,ssd,discard=async,noacl,space_cache=v2,subvolid=295,subvol=/@media)
/dev/sda3 on /home/dekabu/Videos type btrfs (rw,noatime,compress=zstd:1,ssd,discard=async,noacl,space_cache=v2,subvolid=295,subvol=/@media)
/dev/sda3 on /home/dekabu/Games type btrfs (rw,noatime,compress=zstd:1,ssd,discard=async,noacl,space_cache=v2,subvolid=295,subvol=/@media)
/dev/sda3 on /home/dekabu/Pictures type btrfs (rw,noatime,compress=zstd:1,ssd,discard=async,noacl,space_cache=v2,subvolid=295,subvol=/@media)
tmpfs on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,size=383348k,nr_inodes=95837,mode=700,uid=1000,gid=1000)
portal on /run/user/1000/doc type fuse.portal (rw,nosuid,nodev,relatime,user_id=1000,group_id=1000)

И даже

umount part
mount -o compress=none part

не помогает! Чёрт знает, что такое…

Единственный действенный метод это

mount -o remount,compress=none

, но выполнять его всякий раз при загрузке системы — моветон. Почему монтирование некорректно, сталкивался кто-нибудь? Оно игнорирует все параметры и ставит дефолтные.

 , , ,

dyonya
()
Форум — Admin

Ошибка при сборке ftp

Gentoo Linux

Порт net-ftp/ftp

Собирается с ошибкой. Gcc 15 использует стандарт c23 по умолчанию, а в ftp-коде определяется свой костыль для bool, из-за чего конфликт имён. Бредовый баг, но не исправляют. Почему? Стандартным линуксовским ftp-клиентом не пользуются? А если я хочу?..

Пробовал сделать окружение для сборки пакета:

CFLAGS="$CFLAGS -ansi"

Не помогает. Есть может где патчи? Или как это заставить работать?

Перемещено hobbit из general

 , , ,

dyonya
()
Форум — Desktop

Kitty тормозит

Привет, Форум!

Есть у меня Б/У-шный мини-ноутбук от Digma на двухъядерном Celeron’е с 4-мя гигами ОЗУ. Машинка тихоходная, зато мобильность — боже мой! Удобно достать в электричке и работать. И заряд долго держит. Просто песня!

Удачно поставил и настроил Artix Linux, но там мало пакетов в стандартном репозитории, а добавлять от Arch’а или AUR’а не горю желанием: будет срать мне SystemD-шлаком, да и не тру…

Можно опакечивать самому, благо Pacman позволяет. Но вот у меня большАя часть системы — сборная из малоизвестного софта.

И этим мне больше нравится Portage: наглядно, гибко, Unix-way.

Поставил Gentoo и пересобрал мир. Не самоубийца, конечно, и собирал на мощном игровом ноутбуке, потом просто скопировав корень.

-O2 -march=goldmont-plus и кеш процессора…

Ну так вот. Собрал Hyprland и Kitty. Оно всё работает, но уж очень медленно… Терминал открывается, по ощущениям, раза в три дольше, чем в бинарном Artix’е.

Как-то даже странно. Где я недооптимизировал?

 , ,

dyonya
()
Форум — Development

Срок жизни строкового литерала в C

Я делаю пространство имён — множество пар «строка - объект». В функции инициализации я создаю статический массив, а потом копирую всю эту память в динамический, вот этак:

init() {
  name_t names[2] = {
    {"name1", obj1},
    {"name2", obj2}
  }
  <...>
  memcpy(global_namespace.names, names, size);
}

Здесь global_namespace — это структура, в которой есть указатель на имена.

А вопрос мой вот в чём: как долго будут жить строковые константы? Потом ведь нужно будет к ним обращаться — не хотелось бы, чтобы затёрлись. Мне думается, что компилятор положит их в неизменяемую память, и на протяжении всей жизни программы можно будет обращаться. Но они объявлены внутри функции и, вроде как, локальные объекты — это не повлияет?

 

dyonya
()
Форум — Admin

Возможно ли поднять BIND9 через ssh -R?

Привет, форумчане!

Имею в распоряжении локальный сервер, на котором запущен BIND9; успешно обрабатывает запросы из локальной сети. Хотелось бы иметь к нему доступ из Интернета. Пробую перенаправить порт своего виртуального сервера на локалку:

ssh -R 53:localhost:53 VDS

И выдаёт ошибку:

$ dig DOMAIN @VDS_IP
;; communications error to VDS_IP#53: connection refused
;; communications error to VDS_IP#53: connection refused
;; communications error to VDS_IP#53: connection refused

Конфиг на локальной машине с запущенным DNS:

#/etc/bind/named.conf
options {
        directory "/var/bind";
        pid-file "/run/named/named.pid";

        listen-on { any; };

        allow-query { any; };
}
#/etc/resolv.conf
nameserver 127.0.0.1

Конфиг на удалённой машине:

#/etc/resolv.conf
nameserver 127.0.0.1

Может, сталкивался кто с такой проблемой. Помогите, пожалуйста, решить!

 , , ,

dyonya
()
Форум — Security

Вирус на Линукс?!

Кликбейт. А может?..

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

При запуске компьютера потребление — 800 Мб. Немного держится и резко возрастает до 1.1 Гб. И стабильно так. Ну окей: вдруг что-либо запоздало загрузилось… Но стоит мне открыть какую-нибудь утилиту для мониторинга ресурсов (btop, nvtop) — снова стаёт 800 Мб. Прямо мистика какая-то! А закрываю — так же, как при включении, чуть держится и уходит в 1+ Гб.

Какое тому может быть рациональное объяснение? Поведение типичное для какого-нибудь хитрого вируса.

Все программы компилирую из репозитория Генты или github’а. Единственный грешок за мной: пробовал Tlauncher, запускал от рута. Теперь на него подозрения.

Прошу помощи и совета: вирус ли это? Если да — как отладить/излечить? Если нет — откуда такая странность?

 , , ,

dyonya
()
Форум — Linux-hardware

Большое потребление RAM.

Почему-то стало ощутимо больше. Раньше, как только запускал графическое окружение, доходило до 700 Мб, а теперь целый гигобайт. Откуда? Демоны все те же. Разве что драйвера проприетарные от Nvidia накатил — это может влиять?

 , ,

dyonya
()
Форум — Linux-hardware

Как проверить загруженность видеокарты с драйвером Nouveau?

Я говноед счастливый обладатель дискретной карты RTX 3050, мобильная, для ноутбука. Для моих нужд вполне хватало встроенной карточки AMD: видео казала, оконный менеджер рисовала и всё в таком духе. Но вот обидно, что карта лежит мёртвым грузом и пылится.

Поставил Nouveau, так как хочется открытого кода. Но теперь вообще непонятно, как отследить работу видеокарты. Нагруженность, температуру — как вообще убедиться, что драйвера подхватились и карта работает? Компьютер карту видит, но, например, Minecraft запустить, указав в лаунчере дискретную карту, не получилось.

Да и если собирать OBS Studio с флагом nvenc, то требуется nvidia-drivers…

Ну я в итоге сдался и поставил проприетарные дрова. Теперь можно загруженность отслеживать, в том же nvtop’е. В настройках ядра поставил по инструкции с Gentoo wiki: что-то про DRM и framebuffer. Но теперь, при запуске, ещё в консоли на секунду зависает с графическим артефактом внизу — нормально это? С Nouveau такого не было.

В общем, суть моего вопроса: можно ли как-то через sysfs мониторить состояние карты? Дружит ли вообще Nouveau с такими, относительно новыми, картами? Как удостовериться, что оно работает?

 , , ,

dyonya
()
Форум — Development

Как вывести текст при запуске динамической библиотеки?

Бо́льшая часть динамических библиотек моей системы исполняемые. Но при попытке выполнить их возникает ошибка Segmentation failed. Подразумевает ли формат ELF (.so) возможность вывода текстовой информации?

Например: запустил файл-библиотеку — получил текст с версией.

Кажется, Windows DLL так могут. Не ручаюсь, но пример где-то видел, как открытие библиотеки выводило версию.

а) Можно ли реализовать на Линукс (ELF)? б) Если да, есть ли возможность сделать это в clang, при создании библиотеки?

 , , ,

dyonya
()
Форум — Development

В динамической библиотеке нет имён — в чём магия?

Начинаю на обывательском уровне копаться в устройстве библиотек. Решил для одной (динамической, python runtime) глянуть список имён (через nm) – выпал в осадок: их там нет.

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

Ответьте, кто знаком с устройством. Dynamic ELF

 , , ,

dyonya
()
Форум — Development

Системный вызов brk не работает.

Пишу на Android (aarch64). 4 Гб оперативки + 2 Гб swap. Захотел проверить, какой предел для расширения кучи (через brk). Пытаюсь увеличить аж на 10 гигов – и всё равно brk возвращает не код ошибки, а новый адрес.

Насколько мне известно, должно возвратиться 0, ежели память не может быть выделена. Во всяком случае, так работает библиотечная обёртка brk(). А если это не так, то возможно ли иным способом проверить выделена ли память по факту? Как?

P.s. прошу про преимущества mmap не распыляться: хочу разобраться с вызовом brk, раз его ещё не выпилили из ядра.

 , ,

dyonya
()

RSS подписка на новые темы