LINUX.ORG.RU

Сообщения ls-h

 

Менеджер фотографий для быстрой классификации

Форум — Talks

Привет всем!

Пытаюсь разобрать много тысяч фотографий, которые пойдут на обучение нейронной сети. Они лежат по директориям с ID классов, допустим, 0001, 0002, 0003 и так далее. Сами фотографии очень большого размера, это раз. Напрямую с ними очень медленно и неудобно работать, т.к. они лежат на далёком-далёком сервере, это два. Из-за объёмов выкачать нереально, а закачать обратно - тем более, это три. Поэтому было решено на том сервере генерировать из них многие тысячи thumbnails (масштабировать, обрезать, сжать с потерей качества) в формате jpeg, их выкачать и разобрать локально. А потом написать скрипт, который прочитает правила (что куда) и сделает всё то же самое уже на сервере с оригинальными изображениями.

Собственно нужен некий менеджер фотографий, где можно было бы картинки из thumbnails быстро отметить разными тегами, например: «good», «bad», «recheck» и «move_to_classid». Важно, чтобы это было максимально удобно и быстро, чтобы можно было повесить теги на нажатие кнопок. Допустим «+» = «good», "-" = «bad», «0» = «recheck», а по нажатию «M» открывалось бы поле ввода, где можно было бы дописать идентификатор класса в тег «move_to________». После нажатия нужной кнопки (постановки тега) должна показываться следующая фотография. На выходе хочется получить файл в понятном формате, т.е. что-то вроде JSON предпочтительно. Хорошо бы с настройкой формата. Также можно, чтобы эти данные сохранялись в сами файлы, как exif. Но такой вариант хуже, т.к. лучше сами файлы не перезаписывать. Если менеджер будет складывать эти теги в какую-то свою БД, то это совсем нежелательно, много мороки. Кроме того, важно чтобы менеджер показывал как отдельные картинки на весь экран или крупно в окне, так и содержимое директории с картинками сеткой (т.е. получается, thumbnails от thumbnails), с заметными тегами поверх картинок. Вообще тут thumbnails это достаточно условные thumbnails, они сами будут около 800*800 - 1000*1000. Просто исходные картинки ещё больше во много раз.

Конечно, можно написать что-то своё на Python + Qt/GTK. Но всяко такую задачу кто-то уже решил. Что посоветуете?

P.S.: Да, тема не для Talks, но я не знаю, куда лучше написать. С одной стороны, программа которая требуется, это менеджер фото и надо в Multimedia, с другой стороны задача специфичная и ЛОРчане, кто с таким сталкивался, скорее будут бродить по Development. В общем прошу уважаемых модераторов сильно не бить, если важно, то перенести куда следует.

 , , , ,

ls-h
()

Pulseaudio перестал запускаться сам

Форум — Desktop

Привет всем!

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

При этом его можно запустить вручную и он работает нормально:
systemctl --user start pulseaudio.service

Конечно, делать каждый раз это неудобно. Посмотрел логи, там:
journalctl -r --user --unit pulseaudio.service

авг 18 11:13:35 lsh-ubu pulseaudio[3011]: Failed to create secure directory (/home/lsh/.config/pulse): No such file or directory
авг 18 11:13:35 lsh-ubu systemd[2289]: Starting Sound Service...
авг 18 11:13:35 lsh-ubu systemd[2289]: Stopped Sound Service.
авг 18 11:13:35 lsh-ubu systemd[2289]: pulseaudio.service: Scheduled restart job, restart counter is at 4.
авг 18 11:13:35 lsh-ubu systemd[2289]: Failed to start Sound Service.
авг 18 11:13:35 lsh-ubu systemd[2289]: pulseaudio.service: Failed with result 'exit-code'.
авг 18 11:13:35 lsh-ubu systemd[2289]: pulseaudio.service: Main process exited, code=exited, status=1/FAILURE
Директория при этом есть. Если её удалить, то ничего не меняется. Т.е. PA не запускается сам, но при ручном старте запускается и создаёт её.

Система:
$  lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 21.04
Release:	21.04
Codename:	hirsute

 , , , ,

ls-h
()

Эффект псевдопрозрачности для окон

Форум — Desktop

Привет всем!

В давние времена, когда свистелки и перделки эффекты только появлялись и композитинг рабочего стола работал не всегда, некоторые тулкиты и их темы использовали ненастоящую прозрачность. Как это работало? А просто брался кусок обоев с рабочего стола, и с некоторыми эффектами (насыщенность/размытие) накладывался на окно или отдельные его части. Сейчас темы с прозрачностью фона окон стали достаточно модные и не только в GNU/Linux. Но я тут подумал, что пользы и интереса нет никакого от созерцания под одним окном мутного пятна от другого окна. А вот от обоев - есть! Особенно, если там красивый закат. Т.е. сделать бы так, чтобы окно было с полупрозрачным фоном и через него было видно обои, вне зависимости от того, сколько ещё окон находится сзади. Прямо как в старые времена. Только чтобы это работало с ускорением, на стороне композитного менеджера. А не как тогда, когда каждое окно (процесс) копировало себе нужный кусок само, силами процессора и всё это тормозило.

Может быть есть что-то такое? В каком DE?

 , , , ,

ls-h
()

Помните Порфирьевича?

Форум — Talks

Яндекс представил аналогичную нейронную сеть - Балабоба.

Линуксоиды всех стран, соединяйтесь!
А если вдруг вам показалось, что в нашем с вами сообществе собрались одни «диванные» линуксоиды, то спешу вас уверить, что это не так.

Ричард Столлман сидел у окна и пил чай, когда на улице послышались шум и крики.
Он выглянул на улицу, и увидел, что вокруг его дома собралась огромная толпа.
Некоторые были в черных, другие в серых, а третьи в коричневых одеждах.
Столлман посмотрел на часы, было девять часов утра по Гринвичу.
- Интересно, что случилось? - спросил он себя.
За последние месяцы он привык к этому, так как это повторялось практически каждый день.

 , ,

ls-h
()

Семилетний баг в Polkit, позволяющий получить права root

Новости — Безопасность
Семилетний баг в Polkit, позволяющий получить права root
Группа Безопасность

Участник GitHub Security Lab Kevin Backhouse обнаружил уязвимость в Polkit, которая впервые появилась семь лет назад в коммите bfa5036 и с версией 0.113 попала в некоторые дистрибутивы. Она позволяет непривилегированному локальному пользователю получить права root в системе, приложив для этого минимальные усилия. Уязвимости подвержены любые дистрибутивы с установленной версией Polkit 0.113 (или более поздней). Например, такие популярные, как RHEL 8 и Ubuntu 20.04. Уязвимость была устранена 3 июня 2021 года.

Как пишет Kevin Backhouse, уязвимость очень просто эксплуатируется, для этого достаточно простых инструментов: bash, kill, и dbus-send. Кроме них, для своей статьи (PoC exploit) он так же использовал accountsservice и gnome-control-center, которые можно найти на многих системах с GUI. Следует заметить, что accountsservice и gnome-control-center не содержат уязвимость и являются просто клиентами для Polkit.

Собственно уязвимость активируется с помощью команды dbus-send (т.е. простой отправки сообщения через шину D-Bus), которую нужно завершить во время, пока Polkit ещё обрабатывает запрос. Теоретически, можно нажать Ctrl + C на клавиатуре в нужный момент, однако Kevin Backhouse не смог продемонстрировать именно такой вариант.

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

>>> Подробности

 , ,

ls-h
()

Скрытие некоторых тем вместо их удаления

Форум — Linux-org-ru

Приветствую вас, ЛОРчане!

На мой взгляд «Флуд и тупняк» это понятия очень субъективные. Уж очень они зависят от модератора.

Буквально несколько минут назад я участвовал в обсуждении на тему реестра, которое создал Stanson. Да, понимаю, от слова реестр тут у многих случается фонтанообразная диарея. Однако, на просто троллинг его тема не была похожа, хотя я и не успел понять цели ТСа. Всё же ТС создал (как он утверждает есть код, выложить не успел, но точно есть скриншот) прототип скрещивания systemd и Regedit. И, как минимум, там было что ещё обсудить.

Во-первых, не считаю, что тему надо было удалять, т.к. конструктивное обсуждение там присутствовало.

Во-вторых предлагаю (собственно ради предложения я эту тему и создал) для подобных случаев добавить на ЛОР новую возможность: скрывать темы вместо их удаления. При этом чтобы в тему могли писать те пользователи, которые там уже отписались, просто, чтобы она переставала быть видна всем остальным. Всё это для того, чтобы можно было закончить обсуждение. Ещё как вариант - сделать время жизни для подобных тем, например сутки. А вот потом уже удаление.

Прошу модератора xaizek тему вернуть.

UPD
Сам автор признался, что это был по сути троллинг для увеличения количества тем про Windows, которые не связаны с GNU/Linux. Т.е. без какой либо пользы для GNU/Linux, без пользы для сайта, а просто чтобы довести общение на ЛОРе до абсурда. Я посмотрел и другие его темы, разобрался и теперь категорически его не поддерживаю. В общем xaizek поступил вполне корректно и я более не прошу его вернуть тему обратно. Однако моё предложение про скрытие тем остаётся в силе, т.к. и в офтопичных темах могут быть полезные обсуждения, которые участники хотели бы завершить, обменяться аргументами и т.п.

 , , ,

ls-h
()

Диагностика проблем с видеокартой AMD Radeon

Форум — Linux-hardware

Доброго дня, ЛОРчане!

Есть уже достаточно древняя видео карточка AMD Radeon R9 270X, от ASUS (R9270X-DC2T-4GD5) c 4-мя ГиБ GDDR5 памяти. На днях произошла некая поломка, которую я пытаюсь идентифицировать. Хоть карточка и древняя, но время сейчас не самое удачное для покупки новой. Да и в любом случае было бы интересно разобраться в причинах.

Система работала нормально, просто рабочий стол и зависла совершенно полностью, помог только Reset. После включения на экране появились надписи POST вперемешку с красными горизонтальными линиями высотой в символ (на экране текстовый режим) и шириной в половину экрана. Дальше появился GRUB так же в текстовом режиме. Хотя до этого всегда работал в графическом. Между буквами меню отображались артефакты похожие на символы псевдографики (но не они) зелёного цвета. В UEFI (BIOS) setup войти не удалось, вероятно из-за того, что он работает в графическом режиме. А может быть и удалось. Непонятно, после нажатия Delete просто чёрный экран.

Карточку извлёк, разобрал, почистил от пыли. Поменял термопасту (оригинальная совсем высохла). Собрал. В процессе никаких видимых повреждений, вроде проблемных конденсаторов или следов явного перегрева, я не обнаружил. Естественно разборка и сборка не помогла.

В UEFI (BIOS) setup выставил встроенную в процессор, после этого система стала загружаться нормально. Но R9 279X, естественно, от этого работать не начала. Драйвер ядра её определяет, но выдаёт жалобы:

[    8.186075] [drm] amdgpu kernel modesetting enabled.
[    8.186151] amdgpu: Topology: Add CPU node
[    8.186241] amdgpu 0000:01:00.0: enabling device (0000 -> 0003)
[    8.186375] amdgpu 0000:01:00.0: amdgpu: Trusted Memory Zone (TMZ) feature not supported
[    8.408867] amdgpu 0000:01:00.0: amdgpu: Fetched VBIOS from ROM BAR
[    8.408873] amdgpu: ATOM BIOS: 113-AD61600-110
[    8.419350] amdgpu 0000:01:00.0: amdgpu: VRAM: 4096M 0x000000F400000000 - 0x000000F4FFFFFFFF (4096M used)
[    8.419354] amdgpu 0000:01:00.0: amdgpu: GART: 1024M 0x000000FF00000000 - 0x000000FF3FFFFFFF
[    8.419654] [drm] amdgpu: 4096M of VRAM memory ready
[    8.419656] [drm] amdgpu: 4096M of GTT memory ready.
[    8.420271] amdgpu 0000:01:00.0: amdgpu: PCIE GART of 1024M enabled (table at 0x000000F400000000).
[    8.420606] [drm] amdgpu: dpm initialized
[    8.619939] [drm:uvd_v3_1_hw_init [amdgpu]] *ERROR* amdgpu: UVD Firmware validate fail (-22).
[    8.620110] [drm:amdgpu_device_ip_init [amdgpu]] *ERROR* hw_init of IP block <uvd_v3_1> failed -22
[    8.620282] amdgpu 0000:01:00.0: amdgpu: amdgpu_device_ip_init failed
[    8.620313] amdgpu 0000:01:00.0: amdgpu: Fatal error during GPU init
[    8.620589] amdgpu: probe of 0000:01:00.0 failed with error -22

После загрузки карточка в системе никак не задействуется.

По совету я попробовал её перепрошить на ту же версию VBIOS и это даже помогло один раз. Я прошил, перезагрузил комп, посмотрел dmesg, указанных ошибок там больше не было. Я запустил DRI_PRIME=1 glxgears (DRI_PRIME, т.к. основной была выставлена встроенная), шестерёнки отображались корректно. Проверил glxinfo - информация корректная. Я запустил ещё штук 5 glxgears чтобы немного нагрузить карточку. И система опять намертво зависла, пришлось использовать Reset. После перезагрузки карточка опять оказалась не задействованной, и в dmesg я обнаружил такие же ошибки, как и были (как и написаны выше). Попробовал прошить ещё раз, но это уже не помогло. Сначала я упёрся в ошибку утилиты amdvbflash* сообщающую, что прошивка уже была проведена. Обойти эту проблему помог ключ -fa и прошивка прошла. Однако в этот раз пробема никуда не делась и карточка осталась в нерабочем состоянии. Я попробовал и другую версию VBIOS - ничего. Правда я не уверен, что прошивка действительно в эти разы работала нормально. Несмотря на то, что утилита для прошивки писала
20000/20000h bytes programmed
20000/20000h bytes verified
,
при явной проверке контрольной суммы она отличалась от контрольной суммы файла с прошивкой.

Пробовал в этом же слоте другую карточку от NVIDIA - работает нормально. Т.е. с большой вероятностью, это не проблема слота или материнской платы. Карточку AMD пока не пробовал в другом системнике, надо его ещё собрать.

Поскольку одна перепрошивка всё же помогла, у меня есть мысль заменить микросхему памяти. Однако я не уверен, что дело всё таки в микросхеме памяти с прошивкой, ведь работа карточки нарушалась уже после загрузки. Хотя я не знаю, используется ли VBIOS после того как карточка была инициализирована или он нужен только в самом начале после включения.

Что ещё можно попробовать с ней сделать кроме как выбросить?

Примечания:
* - Почему-то amdvbflash_linux_4.69 карточку не видит вообще, что с загруженным драйвером, что без него. Поэтому все манипуляции с прошивкой пришлось проводить из FreeDOS.

 , , , ,

ls-h
()

Трекинг объекта в 3D пространстве при неподвижной камере

Форум — Multimedia

Привет всем!

Есть примерно пятиминутное видео (с производства), где прямоугольный параллелепипед (контейнер) перемещается по одной оси от дальней точки к камере и уходит за границу кадра. Он имеет более-менее однородный цвет, немного надписей и всякие выступы/выемки. Т.е. есть на что повесить точки для трекинга. Хоть ось перемещения одна, но она расположена под углом к камере, поэтому присутствуют изменяющиеся во времени перспективные искажения. Есть задача: нужно на видимую сторону наложить прямоугольное изображение (как если бы оно было напечатано на бумаге и наклеено). Очень желательно, чтобы на накладываемом изображении были все тени (освещение в помещении не равномерное, при движении исходный объект попадает из более освещённой области в менее освещённую). Конечная цель в том, чтобы проверить где и как лучше размещать метки, по которым можно было бы отслеживать объект. Т.е. чтобы не повторять цикл «наклеил, снял видео, посмотрел подходит ли, оторвал, наклеил ...», а сделать симуляцию этого в видеоредакторе.

Раньше я примерно такое делал в After Effects и там это было вполне быстро, просто и качественно. Теперь озадачился вопросом, как и в чём такое сделать на GNU/Linux. Погуглил.

Первое, что нашёл - KDEnlive. Хороший редактор, но с поставленной задачей не помог. В найденных туториалах рекомендовалось использовать Auto Mask с анализом и копирование получившихся данных в Transform. Во-первых, насколько я понял, перемещение тут отслеживается без определения перспективы. Во-вторых, он совершенно зависал при копировании данных трекинга. Не понятно...

Дальше я нашёл Davinci Resolve. Но, как быстро выяснилось, ему обязательно надо OpenCL на видеокарте. И хотя моя карточка его поддерживает, но она достаточно старая и с драйверами проблема.

И третий вариант, который мне попался - Blender. Знаю, что это весьма серьёзный продукт, однако дела с ним не имел. Найденный туториал озадачил первым пунктом «разобрать исходное видео на серию картинок .png». Что совсем неудобно, да и не эффективно на мой взгляд. Хотя, допускаю, что-то я не понял.

Какие ещё есть варианты? Спасибо!

 , , , ,

ls-h
()

Представлена оболочка командной строки для выполнения команд на человеческом языке

Новости — Open Source
Представлена оболочка командной строки для выполнения команд на человеческом языке
Группа Open Source

Разработчик из проекта River's Educational Channel представил оболочку командной строки, которая понимает человеческий язык и переводит его в команды интерпретатора Bash. Новая оболочка использует OpenAI и позволяет выполнять как простые команды для работы с файлами и директориями, так и использовать утилиты вроде ImageMagick, ffmpeg со сложными параметрами.
Видео с демонстрацией работы на YouTube

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

>>> Подробности

 , , , ,

ls-h
()

GNOME против Unix-way

Форум — Talks

Доброго дня вам, ЛОРчане!

Что такое этот мифический «Unix-way»? Вероятно, однозначно на этот вопрос не ответит никто, т.к. каждый понимает под данным термином что-то своё, и определение не имеет чётких границ. Поэтому для установления общего базиса в данной теме предлагаю заглянуть в Wikipedia. Кроме трёх базовых понятий о программах делающих что-то одно, работающих вместе и использующих текст (Malcolm Douglas McIlroy), там есть такие мысли, как:

  • «Избегайте пользовательских интерфейсов, ограничивающих возможности пользователя по взаимодействию с системой» - Mike Gancarz
  • «Позвольте пользователю настраивать окружение» - Mike Gancarz
  • «Правило прозрачности: Разрабатывайте прозрачные программы для облегчения последующего пересмотра и отладки» - Eric S. Raymond


С настраиваемостью и GNOME, думаю, давно всё понятно. Разработчики явно решили, что многообразие опций напугает пользователя. А что с прозрачностью? На мой взгляд, неоспоримым преимуществом систем GNU/Linux по сравнению с Windows и macOS является то, что в случае поломки пользователь может разобраться в её причинах прямо здесь, на месте. Либо, если ему интересно, может узнать что и как устроено внутри. Пользователь GNU/Linux в праве ожидать от программ ясных и подробных логов, тогда как в Windows чаще можно увидеть «Произошла ошибка 0xBADS0F1. Обратитесь к системному администратору». Я уже как-то писал на ЛОРе, что GNOME развивается в сторону от прозрачности системы. Проблема заключалась в отображении грустного смайлика (выглядит это вот так) вместо нормального сообщения об ошибке, и это сообщение показывал не «обновлятор» Ubuntu, а GNOME. Самое стрёмное тут это невозможность отказаться от завершения сеанса. Т.е. другие программы могут вполне работать, но поверх их висит окно, которое блокирует весь ввод. Я сам так же попадал в подобную ситуацию, когда пользовался QEMU. При том не было даже никакой ошибки, просто QEMU захватил ввод, я решил переключиться на другую виртуальную консоль (Ctrl+Alt+F3) и обратно, а GNOME почему-то решил, что ему стало плохо. После этого я с воплями убежал на KDE. Это было не единственным примером, а скорее, последней каплей. До этого я ещё стойко терпел выпиливания функционала. Достаточно сравнить диалоги выбора файлов в GNOME и KDE - вполне наглядный пример.

И вот, некоторое время назад мне опять понадобилось писать ПО с использованием GTK. К слову, к самому GTK я пока отношусь положительно. Достаточно неплохой тулкит, нормальная идея с GObject introspection и привязками к другим языкам. Хотя уже закрадываются сомнения... Раньше я уже использовал Glade, чтобы нарисовать интерфейс. Местами плевался от него, но в целом ничего. А сейчас решил попробовать GNOME Builder. Запустил, открыл в нём пример приложения (одна из причин зачем ставил - потыкать разные примеры в одном месте, а не собирать их по GitHub, документация разработчика для GTK как-то не очень). Builder попросил поставить некоторые SDK. По названиям я предполагаю, что это делается через Flatpak. Хотя не факт. В общем, у него это не получилось. Да, ошибки в ПО встречаются, этого не избежать. Где нормальное сообщение об ошибке? Почему вместо него вот это. Конечно, я нагуглю и разберусь, что там случилось. Но, почему? Это ведь уже не текстовый редактор, где «важно» (хотя на самом деле не важно и даже вредно, пользователь должен знать) не напугать неподготовленного пользователя обилием опций и сообщениями с подробностями. Это IDE для разработчика. Всё, что тут можно сделать - нажать на кнопку, которая убирает пункт из списка. Зато есть удобное меню-гамбургер, а там есть пункт «Generate support log». Ура? Нет, это было бы слишком просто. В логе нет ничего по теме ошибки. В окне с «Failed to install» даже текст нельзя выделись и скопировать. Казалось бы, при разработке интерфейса надо просто поставить галочку «Selectable». Мелочь, но сколько раздражения доставляет. Вообще, что мешало в интерфейс выдать сразу какую-то внутреннюю ошибку? Ведь она там есть. Место закончилось или прав не хватило? Запустить Builder через sudo? Или что? Хоть бы errno показывали...

По итогу всего написанного выше, вангую, из GNOME побегут не только пользователи, которых лишили опций и настроек, но и разработчики сторонних приложений, т.к. создатели GNOME из нормальной среды времён второй версии устроили какой-то мирок с розовыми очками, где только они сами и могут обитать.

 , , , ,

ls-h
()

Proton GE и DXVK. Как проверить, какой API используется?

Форум — Games

Решение проблемы:
Proton GE и DXVK. Как проверить, какой API используется? (комментарий)

Привет всем!

Вздумал я тут поиграть немного в Mafia II. Для этого скачал последний Proton GE версии 6.1, распаковал и запустил без использования Steam. Игра работает хорошо. Заинтересовался, какой FPS она выдаёт. Нагуглил про DXVK_HUD, выставил

DXVK_HUD=devinfo,fps
Ничего не изменилось. Погуглил, как в любых VK приложениях получить счётчик кадров. Оказывается, можно с помощью
VK_INSTANCE_LAYERS=VK_LAYER_MESA_overlay VK_LAYER_MESA_OVERLAY_CONFIG=position=top-left
Запустил с такими переменными окружения. И опять ничего. Хм... Попробовал с ними же vkcube - работает, панель с информацией есть. Попробовал другую игру - Kingdom Come Deliverance, с теми же переменными окружения. Никакой панели нет. Попробовал с
GALLIUM_HUD="simple,fps"
И обе игры стали показывать счётчики кадров. Но ведь это счётчик для OpenGL!

Вывод? Не работает DXVK и Proton вызовы Direct3D транслирует в OpenGL? Странно, учитывая то, что Proton должен использовать DXVK по умолчанию. Как проверить что именно он использует? Как заставить использовать DXVK?

Спасибо!

 , , , ,

ls-h
()

Через пару лет ждём официальный Microsoft Lindows?

Форум — Talks

Привет всем!

Интересная новость попалась на OpenNET. Теперь Linux может быть не только гостем в Hyper-V, но и хостовой (или как правильно, корневым окружением) системой. Можно подумать, что в этом такого? Windows и так можно запустить с помощью Xen или KVM. Да, можно. Но, насколько я понимаю, Windows под Hyper-V заточена гораздо лучше, она будет работать в режиме паравиртуализации. Например, получать не фиксированный объём памяти, а по мере необходимости и так же возвращать освободившуюся в хост систему.

Кроме этого, не так давно MS обновила систему WSL и среди прочего разрабатывает для неё поддержку DirectX. Сейчас это использование DirectX из Windows, в GNU/Linux только пробрасывается интерфейс. Но также попадалась новость, что для GNU/Linux планируются и нативные драйвера.

Если всё будет так, то, как минимум, Windows можно будет запускать поверх GNU/Linux как лёгкую, урезанную систему для Win32 программ. Гораздо эффективнее, чем сейчас с помощью Xen/KVM. Аппаратно видеокарту пробрасывать будет не нужно, будет некий интерфейс для работы с видеокартой, а драйвера будут в Linux ядре. Оперативная память будет потребляться только по мере необходимости, благодаря Hyper-V. Остаются вопросы сетевого взаимодействия и хранилища. Не знаю, возможно, средствами того же Hyper-V гостевая система будет работать на файловой системе хоста.

Получается, самой Microsoft развивать Windows не очень-то и нужно.

P.S.: Да, я в курсе, что когда-то был дистрибутив Lindows и он к данному вопросу не имеет отношения. Просто данное название удачно описывает такой гибрид.

 , , , ,

ls-h
()

Расширение APFS контейнера на другой диск или иные способы увеличения хранилища на macOS

Форум — Talks

Привет всем!

У знакомого есть mac на котором заканчивается место внутреннего накопителя. Обратился за советом, как решить проблему красиво при помощи внешнего накопителя. Понятно, что лучшее решение это замена встроенного SSD, но до этого руки ещё не дошли. Меня тоже заинтересовал данный вопрос. На маке стоит Catalina, вроде уже сконвертировавшая системный раздел в APFS.

Я про этого зверя под названием APFS почитал. Относительно данного вопроса, эта ФС похожа на BTRFS или ZFS, и LVM напоминает ещё. В том смысле, что позволяет объединять несколько носителей в один.

diskutil apfs createContainer device1 device2

- примерно так это должно работать. Но это для создания нового, чистого контейнера, с последующей установкой ОС на том внутри контейнера. А вот способа добавления «на лету», как это легко и просто делается в том же LVM, я не нашёл. Такое возможно?

Так же, как вариант, есть штука под названием APFS firmlinks. Которые позволяют монтировать вместе несколько директорий, с отображением содержимого из обоих. Примерно то же, что и OverlayFS/AUFS/etc. Всё-то эти любители фруктов идеи из Linux тащат, а вы говорите, «Закось под макось». Ещё неизвестно, у кого «закось». Ну да ладно... Везде написано, что эти самые firmlinks можно создать только внутри одной группы томов APFS. Т.е., насколько я понял, с внешним носителем с помощью этой технологии внутренний поклеить не получится. Или есть варианты?

Раньше монтирование в macOS поддерживало опцию «union mount», которая позволяла не заменять содержимое в точке монтирование, а добавлять новое из монтируемой файловой системы. Но, как я выяснил на разных форумах, хоть опция и есть, она давно не работает.

Может быть есть ещё какие варианты «размазать» все данные (или часть, например директорию /Applications) на несколько носителей, чтобы для пользователя это было прозрачно и система сама выбирала, куда записывать новые данные? Или macOS таки полная лажа и даже в LVM они не смогли? Желательно без переустановки ОС. Т.к. если переустанавливать, то уж проще поменять внутренний SSD.

К вопросу «А при чём тут линукс?». Не знаю. Но вопросы про macOS, Macbook и Apple на данном форуме всплывают периодически и вроде ничего, а модераторы вообще заядлые яблочники.

P.S.: Добавьте тег APFS.

 , , , ,

ls-h
()

Ах, эти дивные времена, когда глаза долбили пингвины, Билл дарил им винду, а браузер ютился в одном окне с файлами...

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

... и на моём Атлоне с одним ядром и 256 МиБ оперативной памяти (а может быть и меньше, не помню, когда какие планки уже купил) стоял лучший в мире дистрибутив - SuSE Linux 8.1 Professional, настоящего немецкого качества от Gesellschaft für Software und System Entwicklung.

По крайней мере, именно так мне и казалось, что он и есть самый лучший. Нет, SuSE не был мои первым дистрибутивом GNU/Linux, но он произвёл на меня гораздо большее впечатление, чем попавшаяся перед ним «Красная шапочка». О GNU/Linux я тогда знал только поверхностно. Поэтому удобнейший менеджер настроек для всего и вся, который к тому же интегрировался в центр управления KDE, и назывался YaST2, пришёлся очень кстати. А кроме этого дистрибутив был аж на семи дисках, что при тогдашних «интернетах» было настоящим подарком.

Разбирал я на днях залежи всевозможного старья и нашёл коробку с этими самыми семью дисками, которые я купил вместе с одногруппником на радио рынке. Точнее не купил, скорее поменял. Насколько я помню, тогда я уже проникся идеями Linux'а и всем в группе рассказывал, какая это прекрасная операционная система, как в ней всё гибко и удобно. Тем самым и уговорил парня собрать в складчину ненужные игры и поменять с доплатой на сей прекрасный программный продукт. Ему это тогда быстро наскучило и SuSE он удалил, при том потеряв возможность загружаться в винду, т.к. про GRUB он ничего не знал и знатно меня потом материл. А я ещё очень долго пользовался данным дистрибутивом пока не пересел на какой-то Mandrake. Но он был уже не так интересен, просто тяга к экспериментам перевесила.

Диски оказались несколько затёртыми, и чтение их не прошло гладко, поэтому пришлось пару дней повозиться с ddrescue и dvdisaster. К сожалению, четвёртый диск так полностью и не удалось прочитать, повреждёнными оказались около 300 КиБ. И где его можно было бы скачать, я так и не нашёл. Правда я пока на эти «дыры» ещё не попал.

Система установлена на ReiserFS (по умолчанию так), работает на ядре 2.4.19. Третьи «Кеды» и сейчас радуют глаз темой keramik, не смотря на теперешнюю плоскую моду. Печально, но на любимый сайт мне из Konqueror'а зайти не удалось, я добрался только до Google. А вот Opera, которую можно наблюдать свёрнутой на панели задач, его вполне открывает. Хотя, помню, в те давние времена я использовал Konqueror и как менеджер файлов и для просмотра html страниц.

Установка и первая загрузка: https://imgur.com/a/nU44U9J

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

>>> Просмотр (1280x1024, 301 Kb)

 , , , ,

ls-h
()

Диагностика компьютера. Подозрение на неисправность оперативной памяти, процессора, либо материнской платы

Форум — Talks

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

Накрылся комп. Помогите советом, как установить причину!

CPU: i7 4770
RAM: DDR3 8GB * 4, Crucial
MB: MSI H97 Guard-Pro
Socket: LGA 1150
GPU: R9 270x
OS: Ubuntu 20.04, 64 bit.
Linux тут при том, что он тут и стоял.

Сначала появились странные глюки с мышью. На одних окнах (элементах GUI) клик вообще не срабатывал, на других срабатывал как прокрутка, а прокрутка как клик. Я подумал, что это или мышь так странно глючит, или GNOME после обновления. Воткнул другую мышь - всё то же самое. И, если бы причина была в мыши (в порте, в проводе USB, т.п.), то глюки были бы на всех элементах GUI аналогичные. В моём же случае я выяснил чёткую закономерность: неправильное поведение на обычных элементах окон, правильное поведение на элементах панелей GNOME Shell. Затем я перезагрузил компьютер и, при следующем входе в сеанс, получил сброс параметров DE на дефолтные. Т.е. панели вернулись в состояние сбоку + сверху, тема изменилась на стандартную и т.п. А курсор (мышь) продолжил вести себя очень странно в плане обработки кликов. Тут я понял, что похоже на аппаратную проблему. В dmesg ничего подозрительного не нашёл. Перезагрузил в штатный Memtest86.

Memtest86 полностью подвешивает комп при проверке между 4 и 6 GB. Только reset помогает. Хотя индикатор NumLock пару раз переключить получается. И знак «+» на экране продолжает мигать, но прогресс не идёт.

Пробовал как в многопоточном режиме, так и в однопоточном. Пробовал разные комбинации планок оперативной памяти: 1 планка в 1й слот (несколько раз, планки разные), все 4 разным порядком, 2 во 2м и 4м слотах. Результат всегда один.

Комп не разгонялся, инородные предметы и жидкости в него не попадали. UEFI штатный, его настройки были сброшены на дефолтные путём вынимания батарейки. До вчерашнего дня работал без нареканий уже лет 5.

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

* Куда вообще копать?
* Можно ли узнать точный адрес сбоя?
* Как ядру запретить использовать именно его или ближайший диапазон?

P.S.: У знакомых пока не нашёл ничего с таким сокетом. А покупать и проц и материнскую плату может быть избыточно, вдруг сломалось только одно из них.

 , , , ,

ls-h
()

Ох эти странные новые пакеты...

Форум — Talks

Давайте поговорим о Snap(py), FlatPak и AppImage!

Начну с последнего. На первый взгляд неплохо, одно приложение - один файл, ничего устанавливать не надо. Скачал, сделал

chmod +х *.AppImage
и можно запускать. Но кто гарантирует*, что оно запустится? В отличии от первых двух тут нет никаких зависимостей, никто не знает, будет ли на целевой системе нужная библиотека. И вообще это просто спецификация (да, есть эталонная реализация), в которой так и написано, что надо нацеливаться на наиболее старые версии дистрибутивов и всё носить с собой. Вопросы безопасности в AppImage никак не решаются и оставлены на усмотрения пользователя и применение стороннего ПО (Firejail). С одной стороны пользователь сам должен понимать, что он скачивает и что запускает. С другой - AppImage позиционируется именно как простой для пользователя, неискушённого терминалом, способ скачать ПО и сразу его запустить. Создатель AppImage (ник probonopd) явно фанатеет от macOS и их подхода установки программ с помощью перетаскивания бандла (директория с расширением ".app") из архива в «/Applications». Кстати, что забавно, у пользователей macOS это вызывает большие трудности и они знают 1000 и 1 способ как сделать это неправильно. Проблема с безопасностью не только в, что от пользователя требуются дополнительные знания, но и в том, что применение стороннего решения не всегда работает гладко. И это при том, что именно Firejail рекомендуется на главной странице AppImage. Существуют так же и другие небольшие трудности, вроде интеграции с рабочим столом или автоматических обновлений, но это решается установкой дополнительного демона. Хотя при этом концепция становится уже не такой красивой, как изначальное «перетащил, запустил».

Snap. В основном я им и пользуюсь, т.к. стоит Ubuntu 20.04 и это способ установки ПО по умолчанию в приложении Software**. В отличии от предыдущего варианта, тут есть зависимости и разработчик ПО имеет гарантию (наверное), что его ПО будет работать, если они удовлетворены. Есть также изоляция приложений. Но она несколько странная и достаточно слабая. У некоторых приложений можно изменить список прав (да и вообще посмотреть), у других - нельзя. Нет доступного и ясного объяснения, что при этих изменениях происходит под капотом. Ввели новые термины, вроде «Interface», «Plug», «Slot». Но что оно делает внутри? Монтирует разные директории и файлы устройств, меняет профили AppArmor или что? Я пока точного описания не нашёл. Нет нормальной интеграции этого всего с Software. С виду описание разных приложений может ничем и не отличаться, но если посмотреть с помощью
snap run --shell soft-name
изнутри snap-контейнера, то права доступа к файлам и каталогам различаются, и одно приложение получает «Permission denied» там, где у другого всё хорошо. Понятно, что всю это информацию можно получить с использованием консольных команд, но я за прозрачные и изучаемые системы. Даже Android при установке приложения выводит больше информации о требуемых правах доступа и позволяет их менять при первом использовании. Кажется, относительно недавно snap сделал шаг в правильном направлении и интегрировал xdg-portals, которые изначально появились во FlatPak. Это такой способ получения доступа к, например, файлам, когда пользователь видит обычный для него диалог открытия/сохранения файла и выбирает файл, но при этом диалог является отдельным демоном вне контейнера и по результатам выбора управляет доступом для приложения внутри. И это правильный шаг. Но я пока не видел snap приложений, которые это используют. И раз уж приложения запускаяются в некой песочнице, что мешало её сделать более полноценной, ближе к тем же LXC? Чтобы изнутри приложение не просто было ограничено в доступе к определённым файлам, а не видело их в принципе, так же, как и другие процессы. Кроме этого мне очень не нравится, как snap-приложения запускаются. Очень медленно! Хотя их образы всегда смонтированы. Из-за этого вывод информации консольными утилитами (mount, df, ...) сильно захламлён и читать его неудобно. Кстати, зачем? Для интеграции с рабочим столом разве не было бы достаточно копирования .desktop-файлов и подобного наружу? А ещё интересно, как у snap-а с установкой приложений извне магазина от Canonical и просто из скачанного файла? Похоже, что никак. Software по двойному клику на .snap открывается, но сообщает, что установить не в состоянии.

И, наконец, FlatPak. С ним я пока сталкивался недостаточно много, а внутрь заглядывал ещё меньше. На первый взгляд изоляция устроена более полноценно и работают те самые порталы. Хотя, пишут, всё это обман и не работает нормально. По пока неизвестной мне причине запуск приложений из FlatPak происходит быстрее, чем Snap (пробую на одной и той же Ubuntu 20.04). И, насколько я понимаю, магазинов (или их аналогов) тут может быть сколько угодно.

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

Интересно, насколько вообще нужно было создавать тот же Snap (или FlatPak) с нуля? Можно ли было использовать apt+dpkg? И тут и там есть пакеты, есть зависимости, действия, которые нужно выполнять при установке и удалении. Можно же было сделать отдельную директорию с отдельной базой для «толстых» пакетов, а управлять ими с помощью существующих средств?

А может быть всё это пути не в том направлении и будущее за NixOS/GUIX и подобными системами с более продвинутыми пакетными менеджерами?

* - предвижу ответ «На GNU/Linux тебе никто ничего не гарантирует, неосилятор!»
** - Как раньше было хорошо с уникальными необычными именами. А теперь «Software», «Files», «Text Editor», «Viewer». Даже в macOS названия и то более разнообразные.

 , ,

ls-h
()

Философия Django

Форум — Web-development

Привет!

Надоело просто так скучать на изоляции, решил изучить Django.
Что с самого начала бросается в глаза - везде строки и динамические атрибуты. Почему так? Это же неудобно ни разу

from django.contrib import admin
from . models import Bb

class BbAdmin(admin.ModelAdmin):
    list_display = ('title', 'content', 'price', 'published')
    list_display_links = ('title', 'content')
    search_fields = ('title', 'content')
А можно было бы:
class BbAdmin(admin.ModelAdmin):
    list_display = (Bb.title, Bb.content, Bb.price, Bb.published)
...

Другой пример:
mm = MainModel.objects.get(pk=1)
another = mm.linked_set.filter(pubdate_lt=date)

Почему не:
mm = MainModel.objects.get(pk=1)
another = mm.set(Linked).filter(lt(Linked.pubdate, date)

Или вот ещё, банальные url'ы:
urlpatterns = [
    path('polls/', include('polls.urls')),
]

Заменить на:
from . polls import urls as purls
urlpatterns = [
    path('polls/', include(purls)),
]

Ну и в таком духе. Да, где-то получится писать чуть больше, но зато такой код будет инспектируемый, легко проверяемый и поддерживаемый. Если где опечатался это видно сразу, прямо в IDE. Да банальное автоматическое дополнение!

Или я не понимаю что-то?

 , ,

ls-h
()

Удалённый рабочий стол или удалённый Android

Форум — Mobile

Всем здрасте!

Сижу, значит, на изоляции. И собственно сидеть стал больше. Что-нибудь читаю, смотрю, изучаю, общаюсь, т.п. За столом это не особенно удобно, хочется сменить позу. Но комп у меня настольный и ноута нет. Зато у меня есть 10" стрый и тормозной, и очень китайский планшет на каком-то Alwinner и Android там максимум 4.4.4. На нём можно книжки читать, видео посмотреть, да и всё. Проблема в том, что гуглосервисы на нём работают кране кривой и он от них ещё больше вешается.

И я озадачился вопросом. Как бы его использовать в качестве терминала к основному компу?

Вижу два варианта:
* Удалённый рабочий стол для работы с Linux софтом. На настольные DE не слишком заточены под управление через сенсор. Или я ошибаюсь? Может какая-нибудь Plasma Mobile? И кроме того, есть ли клиенты удалённого рабочего стола, которые бы отправляли события мультитач?

* Удалённый Android. Так вообще бывает? Например, поставить в виртуалку Android X86, чтобы с него картинка и звук транслировались на планшет, а касания экрана - обратно.

Оба варианта изврат, конечно. Но так от него хоть польза будет.

 , , ,

ls-h
()

Питоноэлектрон. Есть такой?

Форум — Development

Привет всем!

Чувствую, сейчас в меня полетят томаты (в лучшем случае)...

Никакого проекта конкретного у меня нет на данный момент, просто заинтересовался таким вопросом:
Есть ли что-то Electron-подобное, но с Python'ом вместо JavaScript'а? Т.е. движок HTML+CSS+плюс другие Web-технологии, вроде SVG, но без JavaScript. Чтобы можно было обращаться к DOM прямо из Python-кода.
Зачем это надо? Ну, например, сделать UI на SVG, а логику написать на Python'е.

Я пока нагуглил только вот такую штуку: https://github.com/cztomczak/cefpython
Но, насколько я понимаю:
* JavaScript там всё равно есть и использовать его придётся.
* С DOM из Python'а работать нельзя.
* По сути это RPC между двумя языками, с лишними накладными расходами на преобразование туда-обратно.
Хотелось бы без этих трёх пунктов.

Кто что думает?

 , , , ,

ls-h
()

Китайское квадратное уравнение

Форум — Talks

Листаю я тут твиттер, что пишут на тему нового вируса. И нахожу очень любопытное наблюдение: количество больных достаточно точно рисует параболу. Хотя должно быть больше похоже на экспоненту. Странно, не находите?

P.S.: Линукс при том, что калькулятор, в котором сравнивал данные, был запущен под Ubuntu.

 , , , ,

ls-h
()

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