LINUX.ORG.RU

Избранные сообщения mamboo

gtk2 сам себя не форкнет

Форум — Development

Что ж, этот день настал. Будем делать gtk 2.26.

Минимальный план работ такой:

  • Обеспечить масштабирование заданных в настройках тулкита размеров иконок в соответствии с DPI.
  • Обеспечить масштабирование заданных темой пиксельных размеров в соответствии с DPI.
  • Предоставить для приложения API для масштабирования размеров из условных пикселей (под 96 DPI) в реальные в соответствии с DPI.
  • Исправить мелкие косяки в теме Redmond, которые остались с тех пор, как отрисовка темы была переведена на cairo.
  • Дополнить дефолтный пакет тем стилями для gtk3, максимально приближенно имитирующими классические темы.
  • Бэкпортировать из gtk3 некоторые улучшения в диалогах открытия/сохранения файлов.

Приглашаются все желающие. Пишите ваши соображения.

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

P.S. @hobbit, верни тэг gtk2 в БД сайта!!!

 , , ,

wandrien
()

Пример архитектуры GUI-приложения

Форум — Development

Привет.

Есть ли у кого пример/дока/статья на тему архитектуры десктопных GUI-приложений? Желательно с использованием Java и Swing/JavaFX тулкитов, но не обязательно, подойдут и другие стеки.

Интересует такой идиоматический пример как делать НОРМ.

Есть MVC, MVVM, MVP и т.д., т.п. Но... Их можно приготовить с разной степенью говености. А меня интересует хороший пример. Есть у кого-нибудь подобное на примете?

 , , , ,

djnoob
()

Нарушил структуру разделов на диске

Форум — General

Не спрашивайте зачем, но было вот так

Было:

Диск /dev/sdc1: 596,17 GiB, 640132383744 байт, 1250258562 секторов
Единицы: секторов по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер I/O (минимальный/оптимальный): 512 байт / 512 байт
Тип метки диска: dos
Идентификатор диска: 0x2052474d

Устр-во     Загрузочный     начало      Конец    Секторы Размер Идентификатор Тип
/dev/sdc1p1                6579571 1924427647 1917848077 914,5G            70 DiskSecure Multi-Boot
/dev/sdc1p2             1953251627 3771827541 1818575915 867,2G            43 неизвестный
/dev/sdc1p3              225735265  225735274         10     5K            72 неизвестный
/dev/sdc1p4             2642411520 2642463409      51890  25,3M             0 Пустой

Элементы таблицы разделов упорядочены не так, как на диске.
# sudo fdisk /dev/sdc1

Добро пожаловать в fdisk (util-linux 2.36.1).
Изменения останутся только в памяти до тех пор, пока вы не решите записать их.
Будьте внимательны, используя команду write.

The device contains 'ntfs' signature and it will be removed by a write command. See fdisk(8) man page and --wipe option for more details.

Устройство не содержит стандартной таблицы разделов.
Создана новая метка DOS с идентификатором 0x34d946a3.

Команда (m для справки): x

Команды эксперта (m для справки): f
Nothing to do. Ordering is correct already.
Failed to fix partitions order.

Команды эксперта (m для справки): r

Команда (m для справки): w

Таблица разделов была изменена.
Синхронизируются диски.```





Стало вот так:

```# fdisk -l /dev/sdc1
Диск /dev/sdc1: 596,17 GiB, 640132383744 байт, 1250258562 секторов
Единицы: секторов по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер I/O (минимальный/оптимальный): 512 байт / 512 байт
Тип метки диска: dos
Идентификатор диска: 0x34d946a3

# fdisk -l
Устр-во    Загрузочный начало      Конец    Секторы Размер Идентификатор Тип
/dev/sdc1                  63 1250258624 1250258562 596,2G             7 HPFS/NTFS/exFAT
Диск /dev/sdc: 596,17 GiB, 640135028736 байт, 1250263728 секторов
Disk model: Transcend       
Единицы: секторов по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер I/O (минимальный/оптимальный): 512 байт / 512 байт
Тип метки диска: dos
Идентификатор диска: 0x0c160c52

Устр-во    Загрузочный начало      Конец    Секторы Размер Идентификатор Тип
/dev/sdc1                  63 1250258624 1250258562 596,2G ```            7 HPFS/NTFS/exFAT


Как получить доступ к данным на диске? Ничего пока не форматировал, но доступ к данным потерял

 

ssmirnoff
()

Тестирование производительности ZFS на SSD /2023

Форум — Admin

Скоро (ближе к концу января) буду вводить в эксплуатацию сервер, хочу потестить производительность ZFS.

Цели:

  • выявить и исправить косяки в конфигурации
  • определить готовность ZFS к разного вида нагрузкам
  • лучше понять, как тестировать дисковую подсистему
  • лучше понять, как настраивать ZFS

Тестировать буду Intel P5800X (Optane) и Samsung PM1735 (TLC). Будет средний сервер на Xeon’e. Дистрибутив — Proxmox VE.

Принимаются пожелания (в виде указаний по настройке ZFS и конфигов/команд fio).

Предыдущее тестирование (2019 г.)

Тема в reddit/zfs. Может там чего-нибудь дельного посоветуют.

 , ,

Harliff
()

Чувствительность колеса прокрутки мыши

Форум — Desktop

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

Прилетело вчера linux 6.1.1.arch1-1 и под ним колесо мыши слишком быстрое.

Загружаюсь под linux-lts 5.15.85-1 - а тут всё хорошо, привычная скорость прокрутки от колеса.

Т.е. - не меняется вообще ничего, кроме самого ядра.

А как посмотреть/сравнить состояние системы под разными ядрами? Что-нибудь вроде сделать снимок /sys/devices/system?

Это же должно быть что-то про частоту опроса устройства, нет?

 , ,

Toxo2
()

Одноплатник с полноценным SATA

Форум — Linux-hardware

Нужен под микросервер, пойдет и arm, лишь бы была поддержка 15-pin sata т.е. с питаловом, чтобы тупо воткнуть любой диск.

 

bubblecore
()

Какие есть космические игры?

Форум — Games

freeorion
Oolite
Colobot
freecivac (Alpha Centauri)
Orbiter
Alien Legacy
Elite Dangerous [1]
mass effect: andromeda
Star Cirizen
EVE Online
kerbal space program
UFO: Enemy Unknown
Lunar Lander

UPD: ранее были темы:
2020, Космические игры на linux
2017, есть ли космическая игра такого плана ?

А вы что посоветуете? Пишите.

Хотелось бы поближе к реальности - реальные звёзды, земная экономика и космодромы. Но просто «калькуляторы звёздного неба» типа stellarium это мало.

 

Shushundr
()

Ссылка для 1С в Linux

Форум — General

Добрый день, может кто знает, пользователю на почту приходят из 1С задача с ссылкой на эту задачу e1c://server/srv-1c… Для Windows, если внести правку в реестр, то можно прям из почты, нажав на эту ссылку открыть её в приложении 1С, а как быть на Linux (Astra) ? Можно ли сделать, чтобы из почты по этой ссылке открывался 1С ?

 

rk3dnp
()

А что, VPN в России окончательно сдох?

Форум — General

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

Тогда оплатил российский говнохостинг за 2$ в месяц и поднял свой ВПН, в надежде что эта лажа с блокировками меня обойдет. Нашел на лоре готовый скрипт, который помог по-быстрому поднять и настроить ВПН на серваке. Худо-бедно ВПН крутился полгода, но в сентябре настала ему жопа.

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

Попробовал то же на МТС, вроде работало нормально, но в декабре и он стал обрубать ВПН.

Летом настраивал ВПН другу на Qwerty, в октябре звонит, говорит нифига не работает.

Недавно попросил знакомого из США оплатить мне на месяцок несколько популярных зарубежных ВПНов. Ни один из них толком не работает в России. Может у каких-то мелких отдаленных провайдеров и работает, но Росхреновтелеком люто глушит.

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

 , , , ,

bairos
()

Пустые расшифрованные пароли Windows 10

Форум — Security

Да, у меня опять обострение хацкерства.

В общем, вытягиваю из SAM’а десятой винды samdump’ом хеши, направляю вывод в файл, вырезаю все остальные строки, кроме одной интересующей вида:

Username:1001:hash1:hash2:::

К своему стыду не знаю смысл 1001.

Скармливаю john’у с --format=NT (емнип NT всегда было, с LM попробовал - то же самое) и --show:

Username::1001...

1 password hash cracked, 0 left

Пароля нет. А винда пустой пароль отвергает.

В отчаянии полез сюда(только потому что это - первая ссылка в гугле). Говорит первый хеш формата LM, второй - NT, на оба выдает пустой результат с успехом.

Что я делаю не так?

 , ,

GREAT-DNG
()

В Haiku появилась реализация Wayland с возможностью запуска GTK-приложений

Новости — Open Source
Группа Open Source

Небольшая новость в преддверии свежей beta-версии Haiku.

Илья Чугин (@X512) портировал реализацию протокола Wayland, через которую стало возможно запускать GTK-приложения на Haiku. Данный слой совместимости использует модифицированный код libwayland. Он предоставляет библиотеку libwayland-client.so, совместимую с API и ABI, которая позволяет запускать приложения Wayland без изменений. Cервер работает не в отдельном процессе, а в виде аддона (плагина) в процессе приложения. Для этого была адаптирована библиотека libwayland-client.so. Вместо сокетов в сервере используется нативный цикл обработки сообщений на основе BLooper.

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

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

 , , ,

RISC
()

Поиск похожих картинок

Форум — Development

Недавно всплывал вопрос о поиске одинаковых картинок. Я хотел применить ImageMagick, но сломал голову его инструкцией и решил начать с решения попримитивнее. Питон 3.10 с установленными пакетами NumPy, Pillow и python-magic. Каждая картинка конвертируется в 24-битную 20x20, затем считается евклидово расстояние между каждой парой картинок (как корень из суммы квадратов разностей для каждого байта). Дефолтное MAX_IMAGE_PIXELS оказалось недостаточным для крупных сканов. Для простоты ограничился типами PNG, JPEG и GIF и файлами только в текущей директории — если нужно что-то сложнее, os.listdir() нужно заменить на соответствующий список или генератор, например, [os.path.join(root, file) for root, dirs, files in os.walk(os.getcwd()) for file in files] или [r + '/' + f for r, _, files in os.walk('.') for f in files].

import os, magic
import numpy as np
from PIL import Image

thumb_size = 20
max_distance = ( 256**2 * thumb_size**2 * 3 )**0.5  
allow_magic = {'PNG image ', 'JPEG image', 'GIF image '}
Image.MAX_IMAGE_PIXELS = 400_000_000

names = sorted( name for name in os.listdir() if os.path.isfile(name) and magic.from_file(name)[:10] in allow_magic )
thumbs = [ Image.open(name).convert(mode='RGB').resize((thumb_size, thumb_size)) for name in names ]
td = [ np.frombuffer(thumb.tobytes(), dtype=np.int8) for thumb in thumbs ]

table = np.full((len(names), len(names)), max_distance, dtype=np.float64)
for nout, hout in enumerate(td):
    for nin, hin in enumerate(td[nout+1:]): 
        table[nout, nin + nout + 1] = np.linalg.norm(hout - hin)

Для идентичных картинок расстояние равно нулю. Для отличающихся размером и артефактами сжатия — существенно меньше 100. Пока ни разу не видел расстояния больше 3500.

Дальше нужно просматривать похожие пары. Дефолтный просмотрщик меня не устроил, поэтому nomacs. Для нулей я вызывал

m = table.min(); r = np.where(table == m); print(m, r);
for x, y in zip(r[0], r[1]): print(names[x], names[y]); os.system( f'nomacs "{names[x]}" & nomacs "{names[y]}"' )

А разобравшись с файлами, заменил все нули на недостижимо большую величину:

table[r] = max_distance

Для расстояний больше 0 вручную повторял однострочник

table[r] = max_distance; m = table.min(); r = np.where(table == m); print(m, r); x, y = r[0]; names[x], names[y]; os.system( f'nomacs "{names[x]}" & nomacs "{names[y]}"'

пока не надоело. В принципе, в таблице могут найтись одинаковые расстояния, поэтому вручную контролировал, что в r вернуло только 1 пару номеров, но этого не произошло.

Для 20 000 картинок, из которых большинство размером 100-1000 пикселов, и которые прочлись в кеш, время вычисления на 1,8 ГГц ядре:
name (определяется magic.from_file) — 10 с,
thumbs (Image.open + Image.convert + Image.resize) — 272 c,
td (np.frombuffer + thumb.tobytes) — 0,3 с,
table — 3276 c.

Как-то улучшить можно? Ускорить?

 

question4
()

Какой ЯП лучше для статистических расчетов?

Форум — Development

Использую С++, но очень не удобно, что нет оператора yield. Использую вместо них лямбды для callback, что несколько утяжеляет читаемость кода. У меня их сотни, почти в каждой важной процедуре. В С++ есть какой-то не натив yield, там то же все переусложнено, и еще асинхронность хочет, что уже совсем не то.

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

Вроде можно попробовать совмещать Python и С++, но пока не решился. Да и те же самые yield из С++ все равно в питон не отправлю.

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

Нужны yield, нужны лямбды. Д.б. под линукс.

 

victor79
()

помогите пожалуйста запустить X-сервер удалённо из консоли

Форум — Linux-hardware

всем привет! у меня есть удалённый сервер (установлен Manjaro Linux), который работает по нескольку дней без доступа к нему человека. Таким образом, иногда нужно выполнять на нём некоторые задачи без возможности попросить живого человека «что-то запустить, закрыть или открыть» поставил на сервер TeamViewer. Если есть способ получше - подскажите пожалуйста. AnyDesk иногда глючит и не могу подключиться, поэтому перешёл на TeamViewer. На данный момент у меня возникла проблема, нужно срочно зайти в графическую оболочку а TeamViewer не может подключиться. При этом я к серверу подключаюсь при помощи ssh

зашёл сейчас в консоль удалённо. Установил tigervnc. на АрчВики нашёл настройку этого сервера, там предлагается создать запись для X11, модуль для systemd и перезагрузить X. Я не могу перезагружать сервер целиком, у него там проблема при старте, без человека он самостоятельно не загрузится, остановившись в самом начале после заставки (нужно нажимать F1 чтобы пошла загрузка дальше). Я могу лишь перезапустить X, либо перезагрузить Линукс в горячем режиме если это возможно. На данный момент хочется перезапустить X. Прочитал что сначала нужно убить текущий X. Нашёл PID c помощью команды

ps aux|grep X

после этого дал команду

kill pid_of_X

теперь стоит задача вновь запустить X-сервер. но когда я даю команду startx он пытается запустить иксы прямо в моей виртуальной удалённой консоли. Как из этой консоли запустить физические иксы чтобы на мониторе сервера снова засветилась картинка? или удалённо это невозможно?

 , ,

corelinux
()

Мой новогодний подарок всем любителям советского ретро

Форум — Talks

У меня в семье есть традиция. Новогоднюю ночь мы проводим, смотря по телевизору какой-нибудь хороший концерт. В моем детстве с этим проблем не было. В 90-е тоже более-менее, хотя качество этих концертов с каждым годом все больше ухудшалось. Сейчас все новогодние концерты превратились в зверинец, как я его называю. Абсолютный отстой с безголосыми певцами, поющими трусами и пошлыми шутками.
Но в 1999 году в новогоднюю ночь по 1-му каналу шел абсолютно потрясающий концерт «Лучшие из лучших», представляющий собой нарезку из «Голубых огоньков» и «Песен года» прошлых лет. Я буквально пару лет назад воссоздал его целиком, склеив по кусочкам из двух оборванных записей, но в целом представляющих полную версию этого концерта. Можете посмотреть его, он есть у меня в контакте.
К чему все это я. Я лучшего новогоднего концерта, пожалуй, за всю жизнь не видел. И очень хотел его продолжения. 20 лет ждал, но продолжение так и не появилось. А в этом году возникла мысль сделать аналогичный концерт, тем более что по телевизору смотреть, как всегда, будет нечего. И я его сделал! И он потрясающий! Поэтому я выкладываю его в общий доступ и дарю его всем ценителям советского ретро. Помимо моей страницы в контакте, вы его можете посмотреть и невозбранно скачать с моего собственного видеохостинга, который я недавно сам себе сделал.

Поскольку я примерно представляю, какие будут вопросы, я попытаюсь сразу на них ответить.

Причем тут ЛОР?
Потому что это единственный форум, на котором я обитаю. И я здесь уже почти 11 лет. Я здесь многих знаю и меня многие знают. И поскольку это форум старый, то мы все здесь примерно одного возраста и я уверен, найдутся люди, которые солидарны со мной в любви к этому жанру. Это видео - мой новогодний подарок для них.

Почему не на Youtube?
Потому что Youtube сразу заблокирует это видео. Звуковая и видеодорожка принадлежат не мне, я просто смонтировал этот концерт. VK относится более толерантно к таким видео, а для тех, кто не зарегистрирован в VK и для большей сохранности я разместил его на своем собственном видеохостинге.

Где треклист?
Треклист в самом видео в конце, в титрах. Я не хочу его заранее выкладывать. Это будет выглядеть как спойлер. Гораздо интереснее смотреть концерт, не зная изначально, какая песня будет следующей, как будто по телевизору. Разумеется, с современными технологиями видео можно без проблем промотать, но мне кажется, что вы лишите себя этим дополнительного удовольствия.

Будет ли продолжение?
2-я часть однозначно будет, на следующий новый год. Разумеется, если буду жив и если с компом все будет в порядке. :) 3-я часть - не знаю, 50 на 50, оценю и решу по результатам 2-й части. Мне хотелось бы, чтобы она была. 4-я часть - это уже вряд ли. Создавая такие концерты, самое важное - вовремя остановиться и не скатиться в шлак, чтобы все выпуски были не хуже друг друга. Я еще планирую сделать одиночный концерт с военными песнями, посвященный 75-летию Победы.

 , , , ,

Rinaldus
()

Посоветуйте в чем вести (внутреннюю) документацию к проекту, багтрекер и т.п.

Форум — Talks

Для «команды» из 2-5 человек.

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

Пару лет как багтрекер пользовали meistertask.com. Но блин… оно какое-то игрушечное совсем. Огромные карточки, в строку влазит лишь несколько слов. Если надо давать развернутое описание, то пол экрана пожрет. Вставлять скрины коряво.

Но и в обратное впадать не хочется. Аналог SAPа (метафорически) точно не нужен.

Чуть кошусь на notion.so. Шаблоны под вики (документацию) и некое OKRs как багтрекер. 5 баксов в месяц за пользователя - приемлемо.

Может прям движок обычной вики взять? Или неудобно?

Хочется чтоб базовое форматирование было не через жопу. Но и не 100500 кнопочек в веб-морде.

 

dk__
()

Adobe Flash Player в 2022: некромагия и ностальгия

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

Привет ненужнисты, флеш-попобольщики, некромансеры и ностальгирующие по ламповому!

Недавно перебирал свалку своего файлового сервера, и тут наткнулся на шедевры ушедшей эпохи: кровавые Happy Tree Friends, парализующие офисную работу серии казуалок YetiSports, отвратительные серии JoeCartoon, божественный beat'em-up Disorderly от Zeebarf (у них вообще все игры очень самобытные), задротский скилловый Happy Wheel и прочие интересности уже «далёкой молодости»... Честно говоря потратил время, чтобы отыскать чем это можно открыть сейчас, и таки обнаружил в своих закромах Некрономикон мирно упакованный Adobe Flash Player под линь.

Правда проигрывает совсем-совсем не идеально, хоть и нативщина - картинка часто сильно артефачит. Отсюда вопрос: кто-нибудь занимался чёрной магией воспроизведением swf на чём-нибудь современном? Есть рецепт нормального запуска флеша? У меня есть конченный костыльный вариант - взять wine и через него запустить виндовый Adobe Flash Player, который точно запускает всё на отличном уровне. Но... это как-то не комильфо, если есть менее костыльные варианты.

 , ,

NeTC
()

Live Programming In Modern Smalltalk

Форум — Development

Всем привет,

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

Цель курса – развить практические навыки работы в среде Смолток, в первую очередь чтобы она не казалась чем-то инопланетным – и чтобы знать, с какой стороны подойти к Смолтоку при самостоятельном обучении.

Материалы | Записи занятий

 , ,

yoghurt
()

Запустил git.org.ru

Форум — Development

В связи с последними новостями о возможной блокировке доступа к сервисам хранения кода, например, github было принято решение о переносе всех репозиториев на сервера размещённых на территории РФ.

Я уверен, что с данной задачей столкнулся не только я, но и многие другие и запустил веб-сервис для хостинга IT-проектов и их совместной разработки. Веб-сервис основан на системе контроля версий Git и системы управления репозиториями Gitea.

Серверное оборудование расположено в трёх местах: Москва, Пущино и Новосибирск. Синхронизация данных между ними происходит каждый час.

Веб-сервис будет бесплатным.

https://git.org.ru/

git.org.ru

Перемещено Pinkbyte из development

 , ,

vanzhiganov
()

Двухмониторная система без иксов (или в tty по ctrl+alt+F2...F6

Форум — General

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

Сейчас по дефолту изображение дублируется на оба монитора.
Я хочу на выбор:

А) расширения экранов по вертикали - низ 1го монитора склеивается с верхом 2го, чтобы на экран влезало вдвое больше строк логов. И запилить этот режим по дефолту, чтобы при загрузке, когда я вижу прогресс, он использовал эту возможность.

Б) на одном мониторе tty2, на втором - tty3. В одном я подымаю сессию tmux, в другом делаю что-то ещё.

А то каждый раз дублированная картинка уже поднадоела.

 , ,

hikikomori
()