LINUX.ORG.RU

Галерея

Активные теги:

 , , , , , , , , ,

Перешёл я на Void Linux

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

Короче, надоел мне этот Debian — скучный, пакеты уже не самые свежие. Да и мне захотелось попробовать runit. И вот я поставил Void Linux.

И да, здесь есть странности. Во-первых, я никогда не видел, чтобы не было ни в одной ОС папки Trash — нигде, только в Void, и почему-то именно у меня. Во-вторых, он не видел другие разделы диска с файловой системой NTFS. Но это похер, у меня же винды нету теперь.

А так, в остальном, он хорош: лёгкая и быстрая система инициализации runit, более-менее стабильный rolling (не то, что у Arch). Также он минималистичен и потребляет в несколько раз меньше, чем Debian с тем же bspwm.

Короче, мне он понравился. И я не остановлюсь на этом: поставлю Artix, потом поставлю Gentoo. Но, как говорится, надо начинать с малого. Вот я и начал с Void.

 ,

IceFox
()

Просто моя система на Cinnamon

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

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

Цели «закоса под мак» тут нет, все элементы интерфейса, напоминающие мак, были выбраны мной путём работы за кастомами с разными элементами интерфейса, в результате которых я выбрал оптимальные для меня, так уж совпало, что они аналогичны таковым же на маке.

 ,

daniyal
()

Space Desktop Environment

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

Итак, разработка началась. Я начал пользоваться Openbox, мне он понравился, это ладно. Я причесал ему стиль, это ещё ладно. Но, как и обещал в прошлом сообщении, я начал разработку Space Desktop Environment (SDE). Звучит странно этот проект, если не разобраться, можно сравнить с BolgenOS от Дениса Попова, хотя я не удаляю имена оригинальных авторов.

Так вот, почему я начал разработку неожиданно и просто так? Начём всё с того: bspwm мне понравился стиль Gruvbox+космос, и вдруг мне ударила идея: а что, если я сделаю что-то типа HyDE для Hyprland, но для OpenBox? Для тех, кто не знает об HyDE это по своей сути готовая оболочка, созданная на Wayland-оконном менеджере Hyprland. И я так захотел что-то подобное HyDE. Я поискал и ничего не нашёл. В итоге было принято решение: если я не нашёл подходящий кандидат создам свой. И вот родился Space Desktop Environment.

Можно подумать, что это готовая DE, на деле нет по своей сути это уже собранный и закастомизированный Openbox. В принципе, я могу ещё сделать приложение «About Space Desktop Environment», если свободное время будет. Завтра как раз будет. Также я поставил SpaceFM и немного причесал его, и включил функцию spacefm –desktop. И после таких манипуляций установка темы, оформление, установка утилит и панелей и переделка конфига можно, по сути, сделать что-то наподобие HyDE, но для Openbox.

Пока что SDE нельзя установить, однако в будущем могу создать инсталлятор, выложить его на Codeberg и сделать так, чтобы он настраивал Openbox. И минусы: во-первых, кастомизация за тебя если тебе не нравится, ты его просто удалишь, и ты тупо тратишь время; во-вторых, а ты сам настроить не можешь? Серьёзно? Можешь поставить мою панель или tint2 и настроить по-своему. Тебе это надо?

И теперь перейдем к печальной новости: Icebar мёртв. Похороню тебя, Icebar. Он умер сегодня, когда я на его основе создал Spacebar. Прощай, Icebar. И что нового в Spacebar? Во-первых, я заменил шрифт, добавил два модуля и причесал дизайн. Ну и, в принципе, всё.

 

IceFox
()

Модернизация моего bspwm

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

Надоел мне старый дизайн моего bspwm, и вот я его переделал кардинально.

А ещё я:

  • поставил zsh и установил конфиг fastfetch;
  • поставил микшер громкости pulsemixer вместо pavucontrol и другие программы, которые назову позже;
  • настроил Firefox: включил вертикальные вкладки и установил vimuim c и другие расширения, ну как uBlock Origin.

Всё, на этом апгрейд закончен. И, кстати, чуть не забыл обои, вот они: Wallhaven.

И ещё я скоро выпущу обновление своей панели вот, кстати, ссылка: Codeberg.

 

IceFox
()

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

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

Более чем два месяца назад заказал отладочные платы для своего хоббийного проекта, но они так и не пришли и хз, придут ли вообще. Разработка прошивки для него из-за этого застопорилась: писать «на воздух» я не особо люблю, а текущая клавиатура уже не отвечает моим требованиям - банально не хватает кнопок.

И тогда в голову начала приходить мысль - а не организовать ли мне эмулятор по типу того, который используется в Android Studio? Идея показалась мне классной, но останавливало отсутствие внятной документации по qemu, поэтому для реализации задумки предлагалось соснуть сурца. В какой-то момент я понял, что без полноценной клавиатуры я не смогу продолжить проект - банально нет всех нужных кнопок - было принято решение засучить рукава и попробовать.

В штатной поставке esp-idf есть qemu, но в ней особо не развернёшься, поэтому начал с простого - используя простое i2c устройство в качестве шаблона, создал заглушки для клавиатуры, контроллера модема и контроллера питания. Подключить их тоже не составило труда - код как раз на скриншоте. Обмен данными по шине i2c оказался очень простым: на эмулируемом устройстве есть всего 2 функции обратного вызова - для чтения и для записи. Таким образом, когда мастер пишет и читает, то просто подсовываем ему то, что он просит. Таким образом реализовать эмуляцию i2c устройств оказалось легче лёгкого.

Далее прерывания. Для эмуляции линий gpio в qemu используются линии прерываний. Тут вроде всё просто: на эмулируемом устройстве создаются выходные линии qemu_irq и далее они подключаются… куда? Вот тут меня ждала первая, пусть и лёгкая, задача. В самом начале я подключил линию irq клавиатуры на матрицу прерываний. Обработчик прерываний вызывался, но понять, на каком gpio оно произошло он не мог. Немного пораскинув мозгами и пососав сурца покопав исходники, я нашёл правильное место для подключения - матрица gpio. Как видите, в функциях read и write ничего нет, поэтому реализовать матрицу предлагается самостоятельно. Ожидаемо :) Реализовывается она очень просто. Сначала в матрице gpio создаются 40 входных и 40 выходных лини qemu_irq, которые будут отвечать за все gpio, которые есть у esp32. Далее создаются ещё 2 выходные линии qemu_irq, которые отвечают за обычные и non-maskable прерывания. Их я подключил к матрице прерываний на специально предусмотренные для этого каналы.

Теперь возвращаемся к функцуиям read и write. Вы когда-нибудь работали с расширителями портов, которые подключаются по шинам spi и i2c? Вся суть сводится к тому, что вы просто пишете и читаете нужные регистры по шинам, верно? Вот тут всё тоже самое, только с одним маленьким отличием - сами регистры нахадятся в самом микроконтроллере и процессор имеет к ним прямой доступ. То есть матрица gpio - это просто расширитель портов, который встроен в процессор и подключен напрямую к нему. Таким образом, вы теперь выступаете в качестве микросхемы :) В ваши регистры будут что-то писать и читать, а вы будете управлять линиями gpio. Когда процессор хочет выставить нужный gpio в нужный уровень - он просто пишет нужный бит в нужный регистр. Вы это видите и переключаете нужную линию qemu_irq в нужный уровень. Если же входная линия изменяет свой уровень, то вы просто отмечаете это у себя в структуре и при чтении сможете вернуть процессору текущие уровни gpio. Если процессор настроил прерывание на каком-либо gpio, то его можно уведомить об этом с помощью линий irq и nmi-irq. Далее процессор прочитает регистр прерываний и попросит вас сбросить их и вы это сделаете :) (иначе он будет постоянно опрашивать регистры прерываний, думая, что они всё ещё активны). Таким образом, реализовать матрицу gpio не составило особого труда. После этого я подключил свои устройства к нужным линиям матрицы gpio и смог эмулировать работу gpio без проблем.

Итак, я уже потирал руки и думал: «Сейчас я кабанчиком организую эмуляцию дисплея на шине spi и можно будет браться за гуй.». Ок, по аналогии с устройством i2c, беру в качестве шаблона какое-нибудь spi-устройство и начинаю реализовывать дисплей. Общение происходит как по i2c, только вместо обратных вызовов read и write, у вас есть обратный вызов transfer, в котором одновременно происходит и приём и передача данных. Сделал я дисплей, запускаю и… тишина! То есть по шине мне передаются сплошные нули! Всмысле? 0_0 В этот раз пососать сурца покопаться в исходниках пришлось гораздо более основательно. В итоге, понатыкав везде и всюду спасительный printf(), я нашёл чёрную дыру, в которой терялись данные по дороге от гостя до эмулируемого дисплея. На первый взгляд кажется, что тут всё ок, но когда я расставил printf() для распечатки адресов регистров, которые пишет и читает процессор, то всё встало на свои места - этот код никаким образом не обрабатывает регистры DMA! То есть вообще. Получается, что гость пытается слать данные через DMA буфер, а ванильный эмулятор spi туда даже не смотрит. В итоге, я сделал его копию и написал свою реализацию, которая позволяет отправлять данные по spi с использованием dma (полную реализацию пилить не стал, ибо влом). И для этого пришлось решить задачу со звёздочкой - доступ к памяти гостя.

Пару слов о том, как работает DMA на esp32. Прошивка организовывает где-нибудь в памяти специальные структуры с указателями на сами данные и входной буфер. Далее в специальнные DMA-регистры записываются адреса (указатели) этих структур. Далее подаётся команда на запуск передачи и данные передаются/принимаются без участия процессора. Теперь передо мной встала задача - как получить доступ по указателям, которые мне передаёт гость? Ведь гость даёт адрес внутри адресного пространства виртуальной машины. Сначала я нашёл решение с помощью функций cpu_physical_memory_read() и cpu_physical_memory_write(), которые работают с указателями из адресного пространства гостя. Но лишнее копирование не давало мне покоя и я нашёл решение получше.

При создании виртуальной машины qemu создаются различные области памяти. Одна из них - оперативка. Создаётся с помощью memory_region_init_ram(). В esp32 создаётся несколько различных областей такого типа. Фишка в том, что все эти области выделены как обычная память на хосте. Идея заключается в том, чтоб использовать memory_region_get_ram_ptr(), чтоб получить указатель на каждую область. Затем, зная начальный и конечный адрес каждого региона, можно вычислить расположение данных в оперативке хоста и работать с ними напрямую.

Последняя задача - как передать эти указатели, которые возвращают вызовы memory_region_get_ram_ptr(), в сам эмулятор spi? Он выполнен как отдельное устройство. В этот раз сосание сурца ковыряние в исходниках и чтение крох документации ничего не дали, поэтому решил действовать в лоб - передавать через свойства устройства. В эмуляторе spi я сделал несколько свойств с помощью object_property_add(), при создании машины при инициализации spi просто передал указатели как uint64_t с помощью qdev_prop_set_uint64(). Не уверен, что поступал правильно, но других решений не нашёл. Возможно, в таких случаях следует создавать отдельное устройство - эмулятор DMA, не знаю. Тем не менее, это сработало - я смог получить доступ к памяти гостя, высчитав смещение и прибавив его к одному из указателей на область памяти.

Гуй сделал на Tcl/Tk. Общение в машиной идёт через fifo. Просто и понятно. Уверен, что у qemu есть свой api для построения гуя, но я, честно говоря, к этому моменту уже окончательно устал искать информацию раз, и хотелось немного попрактиковаться в тикле два. До этого в тикле не работал с цветными изображениями и это был неплохой повод попробовать. Оказалось, что всё делается элементарно через image. Благо по тиклю информация есть, в отличие от.

К чему я вообще пишу обо всё об этом? Похвастаться? Да, не без этого, но ещё больше хочется поделиться вот чем. До того, как я полез писать эмулятор, я многое знал, но не понимал как именно работают те или иные вещи в микроконтроллерах. После того, как я написал эмулятор, я многое понял. Например, как именно процессор управляет своей перефирией. Как работают прерывания. Как работает DMA. Да и вообще, получил опыт в работе с «сырыми» регистрами. Я это к тому, что если у вас есть какая-нибудь идея и вам хочется её осуществить, то всегда пробуйте! Даже если задача изначально кажется сложной и неподъёмной. Запросто может оказаться так, что вы, как и я, не просто реализуете задуманное, но ещё получите ценные знания и/или опыт в процессе.

Такие дела \ё/

 , ,

u5er
()

Скриншотики рабочих столов на устройствах

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

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

Недавно мой пользователь все права потерял в системе, что-то я вытворил. Переустановил Manjaro и хоть блютуз настроил, мощные наушники слушаю.

Ну и так, смотрите скриншотики, некогда их описывать, да и видно должно быть всё на них.

Делайте, как я, и всё будет хорошо. (Только не женитесь, конечно)

 , , ,

votafak
()

Инвентаризация накопителей в домашней лаборатории: больше не теряю диски

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

Привет, l.o.r.
Решил поделиться тем, как за пару вечеров превратил разрозненные smartctl-логи в таблицу, которую приятно смотреть и которую невозможно не обновлять.
Итог — HTML-отчёт на 30 столбцов, но главное — визуальная грамматика: цвет = смысл, глаз цепляется сразу, а не после пятой перечитки цифр.


Зачем вообще

  • В корпусе 5 дисков, в ящике ещё 4, на столе 3 флешки.
  • У каждого своя история: кто-то покупался «на время», кто-то вытащен из NAS, кто-то «подарок» с рук.
  • Бэкапы делаются, но куда — всегда забываю.
  • SMART-атрибуты сыпятся в journalctl, а анализировать лень.

Хотелось «одного файла», который:

  1. Открывается без софта (браузер everywhere).
  2. Показывает ресурс (TBW, hours, health).
  3. Не даёт спутать диск 2024 года с диском 2008-го.
  4. Можно распечатать и повесить над столом — цвета не сливаются.

Что собираем

Стандартный набор smartctl -A /dev/sdX + idctl -i для NVMe, плюс руками:

  • дата покупки, продавец, цена, порт подключения, заметки;
  • зашифрован ли раздел, SMR/CMR, TLC/QLC, RPM, буфер.

Цветовая логика (коротко)

  1. Вендор — фирменный цвет, но затемнённый на 20 %.
    Samsung = #1428a0, Kingston = #00796b, WD = #5e35b1
    Никаких «красных» или «зелёных» вендоров — эти цвета заняты.

  2. Технологичность — градиент от бирюзы к тёмно-серому.
    PCIe 4.0 = tech-l0, SATA II = tech-l6, Floppy = tech-l7.
    Применяется к году, интерфейсу, прошивке, объёму буфера.

  3. Состояние — единственная «оценочная» шкала: зелёный → красный, 9 ступеней.
    Health 97 % = health-1, TBW 39 % = health-5, 17k hours = health-8.
    Для флешек 64–128 ГБ берём процентиль по всем накопителям: они получаются светло-зелёными, а не «красными из-за маленького TBW».

  4. Нейтральное — каждый столбец свой оттенок серого/циана, не пересекающийся с основными шкалами.
    Цена = #455a64, примечания = #161b22 + голубой текст, «n/a» = фон страницы и серый текст.

Контраст проверял автоматически (библиотека wcag-contrast), минимум 4.5:1 на фоне #0d1117.


Кусок CSS

.vendor-samsung { background:#1428a0; color:#fff; }
.tech-l0 { background:#00bcd4; color:#000; } /* новейшее */
.health-0 { background:#4caf50; color:#000; } /* отлично */
.price { background:#455a64; color:#fff; }

Добавляем класс ячейке — и всё, цвет больше не обсуждается.


Как обновляю

  1. Раз в месяц втыкаю все накопители по-очереди (внешние и «шкафные» тоже).
  2. Для каждого делаю два ctrl-c/ctrl-v:
    • sudo smartctl -A /dev/sdX → блокнот;
    • sudo smartctl -i /dev/sdX → тот же блокнот, ниже.
      NVMe-дискам добавляю nvme smart-log /dev/nvme0n1 – он же второй блок.
  3. Открываю чат-бота и кидаю ему весь этот лог.
    Промпт короткий:
    «Сделай строку HTML-таблицы по шаблону:
   <tr>  
   <td class="vendor-***">Name</td>  
   …  
   <td class="health-N">97</td>  
   …  
   </tr>  

Данные ниже, классы определи сам».
Бот выдаёт готовую строку с правильными классами (цвета я ему заранее описал).
4. Копирую строку в disks.html – вставляю поверх старой.
5. Если купил новый диск, добавляю ещё одну строку тем же способом.
6. Сохраняю, закрываю редактор. Готово.

Всё занимает 15–20 минут: воткнул, скопировал, получил строку, вставил.


Если коротко: цвет = семантика, HTML = универсальный формат, автоматизация = не забудешь.
Теперь диски не теряются, а я перестал покупать «лишний, потому что не помню какой свободен».

Спрашивайте, критикуйте, делитесь своими способами инвентаризации.

 , , , ,

Jaeger1999
()

StumpWM как вершина ручного тайлинга

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

StumpWM — это ручной тайловый менеджер, написанный на Common Lisp. Со стороны эта фраза ничего не значит, но на деле это оконный менеджер с огромным потенциалом для превращения его в удобную рабочую среду, альтернатив которой почти нет (если есть вообще).

Прежде всего, что такое ручной тайлинг (или manual tiling, или static tiling). Это тайлинг, где расположением окон управляет пользователь, а не оконный менеджер. В случае со StumpWM, пользователь делает сетку из фреймов (или тайлов), куда будут распологаться окна. Окна распологаются друг над другом и занимают фрейм полностью. Можно привести аналогию с картами, где окно — это карта и эта карта складывается в общую пачку в виде фрейма и, эти несколько пачек, располагающиеся напротив друг друга — это итоговая сетка из фреймов. По опыту, это самое безболезненное решение из всех, если окон очень много.

Сам оконный менеджер написан на Common Lisp и, благодаря этому, позволяет переконфигурировать его на лету через Emacs+SLIME/Sly. Сам конфиг тоже на лиспе, что удобно. У меня, например, накопилось около 2000 строк кода. WM позиционирует себя как Emacs среди оконных менеджеров. Не в плане того, что может полностью зависнуть, если какой-то из плагинов будет долго думать, а в плане способствования хакам.

Кстати об имаксе. Как и у Emacs, у StumpWM хоткеи работают по принципу цепочки аккордов (chord chain). Например, можно реализовать такой хоткей: нажатие Ctrl+C, отпускание и нажатие таба — это может считаться одним хоткеем и быть забиндено на, скажем, вызов терминала. В конфиге выглядеть это будет примерно так:

(set-prefix-key (kbd "C-c"))
(define-key *root-map* (kbd "Tab") "run-shell-command sakura")

Из кода получается, что при нажатии на Ctrl+C оконный менеджер переключит лейаут клавиатуры на root-map и будет ожидать следующей клавиши. А на этом лейауте будет таб, при нажатии на который будет вызываться команда sakura. Мап, по факту, является раскладкой клавиатуры для оконного менеджера, на котором расположены бинды команд для него. И подобных map-ов может быть, в целом, до бесконечности и можно даже подсунуть мап в хоткей другого мапа:

(set-prefix-key (kbd "C-c"))
(register-kmap *layout-map* nil)
(define-key *root-map* (kbd "w") '*layout-map*)

Тут при переходе на рутовый мап мы можем нажать на W и перейти на следующий мап — layout-map.

Говоря простым языком, мы можем определять потенциально бесконечное число цепочек аккордов для хоткея. И это замечательно в плане эргономики — руки меньше напрягаются для хоткеев.

Я использую патченный StumpWM, т.к. мне не удалось найти, можно ли в лиспе в рантайме менять атрибуты класса. Но у патчей есть свои предпосылки. Ванильный StumpWM для перемещения по лейауту предлагает переключение фреймов по принципу «ближайший в заданном направлении», что неудобно и занимает время при переключении (особенно на мультимониторных конфигурациях). Так что мне удалось встроить в StumpWM свой принцип переключения фреймов, который заключается в тегировании фреймов. Схему в общем виде можно наблюдать на второй пикче. Суть в том, что на фрейм накладывается определённый тег, который привязывается к определённому хоткею. И, соответственно, при нажатии будет немедленное переключение на соответствующий тег. Патч был нужен лишь для добавления атрибута тега в класс фрейма. Функции по работе с этим реализованы на уровне конфига. Теги создаются динамически и также динамически привязываются к хоткеям. Они могут по-разному называться и их может быть до бесконечности.

Весь этот текст — фиксация того, что можно найти в StumpWM, т.к. с него я ухожу. Это один из лучших оконных менеджеров, но в нём есть свои проблемы:

  • Плохая поддержка мультимониторной конфигурации. Если в каком-нибудь herbstluftwm на один монитор даётся один воркспейс, то у StumpWM один воркспейс на все мониторы. Это порождает разного рода проблемы, например, если второй монитор служит информационным дисплеем, то при переключении воркспейсов, воркспейс переключается на всех мониторах, соответственно, убирая информацию со второго монитора.

  • Позиционирование а-ля имакс. Субъективщина, но модульность кажется более лучшим решением, чем всё в одном решении.

  • Мне не удалось придумать как решить проблему, если в воркспейсе накопилось слишком много окон. Ты начинаешь в них утопать, переключая в поисках нужного. То, как это всё реализовано в StumpWM сейчас — лучшее из того, что мне доводилось пробовать. Но хочется лучше. У меня была идея делать субворкспейсы — это обычные воркспейсы, но они условно привязаны к какому-либо из воркспейсов. По типу того, что есть воркспейс anyame и мы создаём подворкспейсы: anyame1, anyame2, etc… И все окна раскидываем по ним. Главное тут во всём: переключение подворкспейсов должно быть максимально доступным, как Alt+Tab, только в два хоткея: вперёд по цепочке и обратно. Но вся идея упёрлась в первый пункт проблем. И это стало малоиспользуемым, по итогу.

  • Просто мелкие баги, которые могут доставлять дискомфорт. Например, может быть так, что WM может застрять между двумя воркспейсами и показывать окна с них одновременно — лечится переключением обратно.

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

А так, в плане кастомизации под свои нужды, этот WM — вершина ручного тайлинга.

Дальнейшие ресурсы для изучения:

 , , ,

rhubear
()

Рабочий экран

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

Пинайте больно!
Но это жопа!

totalmem=$(echo "$(sysctl -n hw.memsize)" / 1024^2 | bc)

bash прекрасно умеет считать.

ИМХО, именно таким чистым и должно быть рабочее место.

 ,

l00p
()

Debuntu (не пытайтесь повторить это дома)

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

Привет всем! Я решил немного Повеселится и угадайте, что я сделал? Правильно — обновил Ubuntu 22.04 до Debian 12. И знаете, как я это сделал?

Всё очень просто и сложно одновременно. Меняем sources.list, качаем ключи, чтобы apt не орал, как резаная свинья, и ставим их. Дальше делаем магию: sudo apt update. И потом самое сложное — sudo apt dist-upgrade.

Ждём, когда вылезет первая ошибка зависимостей. Делаем sudo apt --fix-broken install. Если ошибка вылезет снова, делаем вручную sudo dpkg --force-all -i или sudo dpkg --force-all -r и снова sudo apt dist-upgrade. И так по очереди.

Когда дойдём до конца, если интернет отвалился, идём в файл /etc/resolv.conf и пишем туда nameserver=8.8.8.8 (точно не помню). И всё — Network Manager починился. Проверяем dist-upgrade и делаем sudo apt install dbus-x11.

Дальше: sudo systemctl stop gdm, потом sudo apt purge gdm и sudo apt install gdm3. После этого делаем sudo apt reinstall gnome-session gnome-shell и ставим Nautilus, так как он «подыхает» из-за обновления. Если возникает ошибка при переустановке Nautilus, удаляем nautilus-data через sudo dpkg -r и делаем sudo apt install nautilus.

И готово! Короче, Повеселился конкретно.

 , franken,

IceFox
()

Trinity DE- несколько кадров компьютерной ностальгии

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

На данных фотокарточках я запечатлел еще одно окружение рабочего стола на моем нетбуке Asus eepc 1101 HA. Это Trinity Desktop Environment – оболочка, созданная на базе kde3, в которой есть все соответствующие программы в довольно устаревшем варианте (например здесь работает модуль icq в программе kopete через фанатский сервер каськи). Именно это и изображено на первой фотке.

На второй фотке показана игра в ClassiCube. В одном из окон непосредственно сама игра, а в другом – список доступных серверов. На одной из фотографий виднеются также маленькие приспособления непосредственно самой оболочки. Приятным сюрпризом являлся измеритель пройденного мышью и таймер для приготовления чая (таймер в трее, поэтому и не пытался заснять).

 ,

dsalin
()

Обновочка: сенсорный монитор

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

Хочу в галерее поделиться своей обновочкой.

Сегодня купил себе и подключил сенсорный монитор Verbatim PMT-14 49591. Им очень удобно выделять что-то на картинке или вообще работать с графикой. Увидел в магазине и очень захотелось попробовать. Пока он не несёт полезной нагрузки как дополняющий монитор, так-как подключён к компьютеру через сплиттер, и компьютер не отличает от другого. Сам компьютер – это ноутбук и пока у него только один порт hdmi. Диагональ экрана –14 дюймов.

Я не ожидал, что без танцев с бубном заведётся тач на убунтe, так как на коробке написано только про Андроид, IOS, Windows, MacOS. Но заработало.

 ,

dsalin
()

Debian 13 На старом ноутбуке

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

Я смог установить Debian 13 на древний ноутбук, у которого при обычной установке Debian 13 после загрузки — отключенный экран, и всё. Так как же я установил свежий Debian 13 на древний ноутбук? А вот как!

Вариант 1, простой и верный, как молоток: устанавливаем Debian 12, блокируем обновления ядра, и обновляем систему до 13, что, собственно, я и сделал.

Вариант 2, более сложный, для тех, кто любит потанцевать с бубном вокруг терминала: ставим систему в nomodeset режиме, загружаемся в nomodeset режиме, меняем в sources.list trixie на bookworm временно, и ставим старое ядро, потом удаляем новое ядро, снова меняем sources.list bookworm на trixie, и готово.

 ,

IceFox
()

Закос под MacOS на RTX ПК

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

В этом году вышел в релиз MacOS Tahoe, который отличился кардинальной переработкой UI под названием Liquid Glass. Для Linux сделали тему офрмления в стиле MacOS Tahoe.

Что использовалось для закоса:
Иконки (курсоры входят в комплект): https://github.com/vinceliuice/MacTahoe-icon-theme
Тема оформления GTK (обои входят в комплект): https://github.com/vinceliuice/MacTahoe-gtk-theme
Шрифт для терминала: https://github.com/be5invis/Iosevka
Шрифт: https://github.com/sahibjotsaggu/San-Francisco-Pro-Fonts

Использован свежий Ubuntu MATE 25.04

 , ,

ConLenov
()

OpenSUSE 16.0

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

Обновился до OpenSUSE Leap-16.0. Полет нормальный, ресурсов хватает, фсьо что нужно на скриншотах. Яст конечно уже не торт но рабочий. Ноуту уже лет примерно восемь, немного апгрейдил, оперативки добавил и ssd - WD-500 черный. Еще прослужит долго. В дуалбуте еще Перекатиполе (просто слежу за тенденциями). Обои рабочего стола не показываю, что бы не было лишних разговоров про цвет и вкус фломастеров. )))

 , ,

piwww
()

Моё рабочее место

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

На первом фото общий план: мое рабочее место состоит из двух столов.

На втором – вспомогательный стол. На нем нетбук Asus eepc 1101 HA, о котором я упоминал в публикации о windowmaker и gnustep. Служит он для подключения к трансиверу, в котором тоже компьютер встроен. Хочу скоро сделать из него декодер и кодер морзянки – принимать и отправлять её через комп, а не вручную на слух, передавая через ключ.

На третьем мой основной рабочий стол – засаленный oрганайзер, периферия от логитек, монитор от hp. В коробе под принтером весьма посредственный ноут 2019 года с ЦПУ от Интел Пентиум Сильвер (если память мне не изменяет). На столе также советские часы «Электроника Г-9», выпущенные в Минске в 1979 году. Они неубиваемы.

Принтер на коробе – далеко не только принтер. Это лазерное цветное сетевое МФУ Canon Isensys MF655Cdw. Мне его подарили на день рождения. В нашем доме очень много кому время от времени нужно много распечаток. Кстати, его прекрасно распознал CUPS!

Характеристики ноута по информации fastfetch:

  • CPU: Intel(R) Pentium(R) Silver N5000 (4) @ 2.70 GHz
  • GPU 1: NVIDIA GeForce MX110 [Discrete]
  • GPU 2: Intel UHD Graphics 605 @ 0.75 GHz [Integrated]
  • Memory: 4.73 GiB / 7.58 GiB (62%)

Спасибо за прочтение!

 

dsalin
()

HL Alyx на ALVR

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

Valve Index это хорошо. Было. Пять лет назад.

С тех пор технологии шагнули, а Valve что-то не торопится обновляться, хотя слухами про Deckard земля просто кишит. Зато добрые китайцы уже всё сделали, и осталось только написать приложение для онтопика.

Оборудование:

  • Pico 4 VR Ultra.

  • AMD Ryzen 7 5700X

  • 64 Гб ОЗУ

  • AMD Radeon RX9060 16Гб

  • Ximper Linux (на базе ALT Sisyphus)

Соединение: ALVR.

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

 , ,

Aceler
()

Рабочий офис дома

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

С момента моей последней фотографии в галерее прошло почти 5 лет. Что-то поменялось, что-то осталось неизменным.

Давайте по порядку.

Прежде всего, я искренне считаю, что удалённая работа – это лучшее, что происходило с рынком труда.

За эти 5 лет я окончательно переехал из Уфы в Москву и тратить по 3 часа в день на дорогу (в обе стороны), чтобы выполнить работу, которую я могу с таким же успехом сделать сидя дома – это просто глупость, как по мне. А протирать штаны и создавать иллюзию бурной деятельности можно и в офисе. Наличие в нём сотрудника вовсе не говорит о том, что он делает что-то полезное.

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

 , ,

Jefail
()

GNUstep - экзотическое окружение рабочего стола для Лина

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

Здравствуйте.

Решил загрузить ещё одно фото рабочего стола, но на другом ноутбуке, который у меня есть. Там я установил весьма экзотическое окружение под названием GNUstep. Оно якобы напоминает интерфейс джобсовской NEXTstep.

Работает на 12 дебиане – он последний поддерживает 32-битные компьютеры, в 13-м уже 32-битную архитектуру выпилили. Устанавливается из дефолтного репозитория дебиана.

Сам ноут очень старый и слабый, ведь это Asus Eee PC на процессоре с частотой 1,33 Ггц. Здесь нет той засранности как на скрине с КДЕ, так как по-моему, здесь невозможно установить просмотр папки «рабочий стол» на самом рабочем столе.

 ,

dsalin
()

Debian + Binary Space Partitioning Window Manager (bspwm)

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

Привет!

Сегодня я вам расскажу всё о моем bspwm, а также комментарии предыдущего зеленого Debian bspwm, а также расскажу об моём обновленном конфиге polybar и исправлениях.

Начнём с комментариев предыдущего поста «зеленый debian bspwm».

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

 , ,

IceFox
()

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