LINUX.ORG.RU

Сообщения windows10

 

Вопрос по меню и сортировке

Форум — Development

Приветствую.

Такой простой вопрос.

Есть программа. Разработчик программы выставляет ее категорию. Категория может быть выставлена одна, а еще их может быть несколько. Например FTP-клиент может быть как Network, так и FileTools.

Есть меню программ, с категориями и вложенными списками.

Вопрос:

Какой на ваш взгляд удобное отображение меню - отобразить программу только один раз, или отобразить одну и ту же программу в нескольких категориях?

Спасибо.

 

windows10
()

Покритикуйте идею IPC

Форум — Development

Приветствую.

До сих пор периодически возникает бугуртящий вопрос «ну почему D-BUS»?

Попробовал реализовать IPC через shared memory.

Итак, есть один относительно большой файл (мегабайт, или даже два, в зависимости от количества программ, его использующих).

Файл доступен через вызовы ФС, и расположен в условно говоря /dev/shm/file.

Файл в формате JSON.

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

Думаю о механизме блокировок говорить не нужно, программа не начнет обрабатывать чтение\запись до тех пор пока висит блокировка (или по тайм-ауту), а когда начнет обрабатывать - добавит уже свою блокировку, чтоб другие программы не писали.

Когда программе нужно прочитать данные - она просто читает этот файл, и достает оттуда интересующую ее переменную.

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

Для разграничения владельца, само собой формат переменных может представлять собой ассоциативный массив, где первый ключ - уникальное имя приложения. Шина, если по-dbus-ному.

Pro системы:

Абсолютная универсальность

Любой ЯП любой степени древности имеет базовые функции работы с файловой системой, а для обыкновенной работы с этим видом IPC нужны всего лишь функция чтения, функция записи, и функция проверки существования файла.

JSON-формат прост, знаком всем, с *char работает любой ЯП, привести со своего нативного *char к своему же нужному типу - однозначно проще, чем с этих сраных variant, ss, a(sss) и прочего зоопарка велосипедов. Не говоря уже о том, что функции для парсинга JSON есть в любом современном и не очень ЯП.

Отсутствие посредника

Он попросту не нужен, посредник - сама ФС, которая уже и так есть. Кому нужно - пишет, кому нужно - читают, кому нужно - мониторят.

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

Гибкость

Вся модернизация, если такова необходима, делается силами самой программы, и того кому эта программа нужна.

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

Понятная простота

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

- - -

Речь идет исключительно об организации взаимодействия. Стандарты, названия, пути - это уже другая история.

Все пока работает.

Посмотрите пожалуйста со стороны, и покритикуйте способ.

Благодарю.

 

windows10
()

Узнать/изменить пароль на GPON-устройстве

Форум — Linux-hardware

Приветствую.

Сдуру купил на алишке «роутер с оптическим входом». Не буду долго описывать что в нем не работает, перейду сразу к сути.

SSH'а нет, но доступен телнет. Все известные креды туда не подходят.

Подключился уартом.

Внутрях стоит Linux на дебильной ubi, в которой я ничего не соображаю.

По мере загрузки выплевывает в приглашение ввода логина и пароля.

Путем «нажатия на клавиши» удалось прервать загрузку, выпхнуться в меню u-boot, отредактировать environment так чтоб передать параметры ядру и оно выплюнуло в sh в качестве инита.

Известные на десктопе параметры ядра типа autologin - здесь не работают.

Само собой функционал системы в этот момент куцый.

В fstab пусто, все ФСы монтируются велосипедами в rc-баш-портянках.

Собственно запуская эти портянки одну за одной - удалось запустить функциональную часть системы. Но это не вариант ибо требует вмешательства извне.

В passwd\shadow два юзера, root и admin, причем root странный, хеша пароля нет. Но без пароля все равно не пускает, ни локально ни удаленно по телнету.

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

Вопрос: сидя в консоли Linux, при присуствии лишь busybox-овых утилит, но имея сеть - можно ли перепаковать squashfs?

Можно ли где-то об этом почитать систематизировано, без манов в разных местах?

Амфибиотропная асфиксия мешает просто так выбросить 35 евро, все-таки двухканальная вафля там мощная.

Благодарю.

 ,

windows10
()

Разница между echo и printf в Linux

Форум — Development

Приветствую.

Есть скрипт, разумеется на похапе, хотя это и не столь важно.

Суть скрипта - проверять на существование файла, и если файл найден, то читать его построчно (хотя не обязательно) и отправлять строки в UART. Строки не простые, а специально сформированные. Пример: POP02\xe2\x0b.

Запустили мы программу в одной консоли, она висит и проверяет наличие файла.

В другой консоли мы записываем желаемую команду.

Так вот, если эту команду писать в файл как echo "POP02\xe2\x0b" > /file, то инвертор возвращает ошибку. Если писать как printf "POP02\xe2\x0b" > /file - нет.

Важно: проверка и удаление \n в скрипте выполняются, выводится проверочная строка, лишних символов не видно. Но они есть.

Вопрос: что добавляет echo того, чего не добавляет printf?

 

windows10
()

Разная работа терминалов по WiFi

Форум — Admin

Приветствую.

Есть в двух смыслах удаленная девборда в саду.

Подключена к домашней точке. Сигнал слабый, пинг 100мс, 150мс.

Подключился по SSH в терминале. Делаю некоторые дела. Само собой, проскакивают лаги в командах, mc\mcedit вообще бывает висят.

Один раз, когда завислов - подключился вторым терминалом. И заметил странную вещь.

В первом терминале повисло. Чаще всего на выходе с mcedit, когда он обновляет интерфейс. Но не только в нем.

Но в другом терминале в этот момент все работает - консоль воспринимает ввод, и выводит вывод.

С чем связана такая разная работа двух терминалов на одной и той же железке?

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

 

windows10
()

Зачем нужен композитинг в контексте WM?

Форум — Talks

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

Эффекты, полупрозрачности и прочее без композитора не работают, что в принципе логично. Некоторое время сижу на пустом опенбоксе (или вообще без него).

И тут я по счастливой случайности открываю Chromium.

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

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

X11/Debian/Openbox

 ,

windows10
()

Почему одних только «драйверов в ядре» недостаточно

Форум — Talks

Встал вопрос о покупке USB-WIFI свистка. Стандартная антенна RPI периодически теряет сигнал, находится далеко от роутера. Суть не в этом.

Купил свисток. Не такой как в прошлый раз (MT7601), а «USB adapter driver free».

Еще и умный такой, заранее посмотрел, чипсет RTL8188 поддерживается ведром, а стало быть будет работать.

Но нет. Оказывается этого мало. Устройство по умолчанию определяется как CDROM, на котором лежат виндовые драйверы, после установки которых переключающие устройство в режим NIC, и не насовсем, а до ребута. Ребут с этой воткнутой штукой кстати тоже медленный.

Ладно, думаю, не буду чесать репу - понес в магазин.

Хипстор посмотрел на чек, посмотрел на отсутствие блистера, и говорит: - ну, возврат делать мы не будем 100%, неделя прошла, коробка утеряна, давайте посмотрим.

Подключил девайсину к себе на винду, установил драйвера, подключился к местной вафле, показал мне пруфцы и ответил любимой линуксоидной фразой: - УМВР.

Говорю, да, но в Linux не работает, переключалки нет.

На что бро резонно заметил, что: - функция свистка состоит в подключении к wifi, подключение как видите устанавливается, проблемы у вас на стороне. Знакомо, да?)

Ну и наконец добавил: - по гарантии я конечно принять у вас могу, но через 13 дней 23 часов 59 минут я вам позвоню, и скажу что СЦ неполадок не обнаружил, потому что как видите их нет.

- - -

Для любителей покрасноглазить.

Нет, usb_modeswitch не работает.

root@orangepione:~# usb_modeswitch -KW -v 0bda -p 1a2b
Take all parameters from the command line


 * usb_modeswitch: handle USB devices with multiple modes
 * Version 2.6.1 (C) Josua Dietze 2017
 * Based on libusb1/libusbx

 ! PLEASE REPORT NEW CONFIGURATIONS !

DefaultVendor=  0x0bda
DefaultProduct= 0x1a2b

StandardEject=1

Look for default devices ...
  found USB ID 1d6b:0001
  found USB ID 0bda:1a2b
   vendor ID matched
   product ID matched
  found USB ID 1d6b:0002
  found USB ID 1d6b:0001
  found USB ID 1d6b:0002
  found USB ID 1d6b:0002
 Found devices in default mode (1)
Access device 003 on bus 003
Get the current device configuration ...
Current configuration number is 1
Use interface number 0
 with class 8
Use endpoints 0x0b (out) and 0x8a (in)

USB description data (for identification)
-------------------------
Manufacturer: Realtek
     Product: DISK
  Serial No.: not provided
-------------------------
Sending standard EJECT sequence
Looking for active drivers ...
 OK, driver detached
Set up interface 0
Use endpoint 0x0b for message sending ...
Trying to send message 1 to endpoint 0x0b ...
 Sending the message returned error -7. Try to continue
Read the response to message 1 (CSW) ...
 Response reading failed (error -7)
 Device is gone, skip any further commands
-> Run lsusb to note any changes. Bye!

root@orangepione:~# lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 003: ID 0bda:1a2b Realtek Semiconductor Corp. RTL8188GU 802.11n WLAN Adapter (Driver CDROM Mode)
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Нет, VID\PID взяты с lsusb, все корректно.

Нет, https://github.com/morrownr/8821cu-20210916 - это не работает, после ребута все тот же cdrom mode

И да, https://github.com/McMCCRU/rtl8188gu - это тоже не работает, /dev/cdrom нету, и других /dev/чото_похожее тоже нету. Соответственно конпеляция и наглый insmod тоже не работают.

На десктопе все то же самое - debian 12.

На винде как ни странно все работает как часики.

- - -

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

Ну и заодно пост про то, насколько ж могут быть конченными производители :)

 ,

windows10
()

Посоветуйте маршрутизатор

Форум — Talks

Приветствую. Стал мой старенький Netis проглючивать до ресета. В связи с этим задумал переход на другой роутер + решил почистить в проводах\коробках, в связи с этим нужен новый роутер, который:

- Двухдиапазонный WiFi 2.4\5 - обязательно;

- 4 RJ45-LAN порта, желательно по гигабиту - обязательно;

- SFP порт для входа оптоволокна - обязательно;

- Желательно не за все деньги мира;

- Не Микротик. Вот просто не Микротик, и все;

- 1 RJ45-WAN порт - опционально;

- Без переходников, конвертеров, адаптеров и прочих сэндвичей - все в одном.

- - -

Благодарю

 

windows10
()

Инсталлятор для дистрибутива

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

Продвигаюсь все ближе и ближе к завершению.

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

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

Сам дистрибутив - на основе Дебиана с небольшими изменениями и оптимизациями.

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

 

windows10
()

Кто-нибудь рискнет протестировать?

Форум — Talks

Нужен доброволец с дебианом или убунтой на иксах.

Суть тестинга - скомпилировать у себя ПЫХ и запустить гуевое окно. Можно даже в виртуалке.

Мануал: https://phpsupreme.de/?page_id=88

До третьего пункта включительно.

Если у вас не открывается сайт - тогда эта просьба не для вас. На данный момент вебсайт хостится у меня в кабинете в Николаеве, видимо ваш провайдер банит меня по IP. Со временем разживусь неукраинской локацией, но пока увы так. Извините.

Некоторые пакеты, например lightdm - не обязательны, они для «чистой» установки - просмотрите список и удалите лишнее.

Соответственно, make можно запускать с ключом -j и количеством ваших ядер - это ускорит конпеляцию. ПЫХ - проект не маленький, поэтому количество ОЗУ для сборки должно быть примерно из рассчета 1гб*1 ядро.

Если у вас нет sudo - придется поверить джентльмену на слово.

Если все три пункта выполнились - создайте тестовый файл

#!/usr/local/supreme/php/bin/php
<?php
Gtk::init();
function GtkWindowDestroy($widget=NULL, $event=NULL){
	Gtk::main_quit();
}
$win = new GtkWindow();
$win->set_default_size(640, 480);
$win->connect("destroy", "GtkWindowDestroy");
$win->show_all();
Gtk::main();

И запустите. Либо как исполняемый: chmod +x your_file.php;./your_file.php, либо через сам пых: /usr/local/supreme/php/bin/php your_file.php

Если окошко не вывелось - скиньте пожалуйста ошибку если таковая была.

Благодарю. День Х близок.

 ,

windows10
()

Странный глюк со скроллом в Хромиуме

Форум — General

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

Заметил глюк, только на Linux и только на Chromium:

Нахожусь на определенной позиции страницы со скроллингом.

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

Возвращаюсь в первую страницу со скроллингом, двигаю чуть-чуть колесиком, а скроллинг резко переносит меня или далеко вниз, или далеко вверх.

После чего нормализируется и работает штатно.

Глюк - плавающий, не зависит ни от сайта, ни от времени, ни от открытых программ.

Вы сталкивались с подобным глюканом?

 

windows10
()

А как на C решаются проблемы одной переменной на несколько типов?

Форум — Development

Возник вопрос. Можно ли в C использовать переменную произвольного типа в зависимости от контекста? Пример кода.

void test(int type) {

 if (type==1) {
  char *data = "Hello world";
 }
 if (type==2) {
  int data = 123;
 }
// ...
}

Экспериментировал с void. Работает лишь наполовину

void test(int type) {

 void *data;
 if (type==1) {
  char *data = "Hello world";
  printf("Data: %s\n",data); // Тут data - правильные
 }
 if (type==2) {
  int data = 123;
 }
// ...
 printf("Data: %s\n",data); // А вот тут data - поломанные
}

Первый printf выводит как положено, Hello world.

А вот второй printf вне условия, выводит �ÐUH��H�� H�}�H�

Благодарю.

 

windows10
()

Подскажите куда и как написать в Debian

Форум — General

Обнаружил интересный недостаток в пакете chromium для Debian. Не критичный, но все же.

Его .desktop файл - не полный и не содержит дополнительных действий, используемых разными лаунчерами. New window, New private window, и тд.

В Арчике например этот файл полнее.

Если не трудно, гляньте в вашем дистре: cat /usr/share/applications/chromium.desktop | grep Actions и поделитесь прямой ссылкой на Debian, куда можно поплакать по этому поводу.

Благодарю.

 ,

windows10
()

Можно ли избавиться от «terminal may contain some input» в Geany?

Форум — Development

Приветствую. Собственно сабж.

Неважно какой ЯП: С++, Python или PHP.

Пишется условный хелловорлд, запускается, прерывается.

Вывода НЕТ - только блеклый прямоугольный курсор строки приглашения.

https://ibb.co/n4cC4VP

При попытке запустить программу заново - выдает вот такое сообщение, после чего нужно поставить курсор в терминал, нажать Enter - и тогда программа запустится по F5.

Можно как-то это убрать штатными способами (без перекомпиляции) ?

 

windows10
()

GitHub users are now required to enable two-factor authentication as an additional security measure.

Форум — Talks

GitHub users are now required to enable two-factor authentication as an additional security measure. Your activity on GitHub includes you in this requirement. You will need to enable two-factor authentication on your account before August 23, 2025, or be restricted from account actions.

Кто-нибудь может объяснить - зачем? Неужто еще и здесь хотят насобирать коллекцию мобильников-юзернеймов и опционально захламить телефон еще одним зондом?

Your activity on GitHub includes you in this requirement.

Какая активити? Размещение говнокода на Пыхе just for lulz?

You will need to enable two-factor authentication on your account before August 23, 2025, or be restricted from account actions.

Штош, в августе 2025 года, прощай Microsoft Github.

 ,

windows10
()

Ну почему у Гнома все настолько криворуко?(

Форум — Talks

Интересно, Шапка или кто там разрабатывает это поделие - вообще могут в стандарты?

Блин, простейшая программа-эмулятор терминала (один из примеров) - только посмотрите.

.desktop-файл: /usr/share/applications/org.gnome.Terminal.desktop

В этом самом файле, строка запуска (Exec): gnome-terminal

После запуска в процессах: /usr/libexec/gnome-terminal-server

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

 ,

windows10
()

Странное наблюдение за HDR

Форум — Talks

Вот что заметил.

Есть HDR-тест. https://www.testufo.com/hdr

Его суть в том, что рисуются два квадратика, если дисплей и система поддерживают HDR, то в одном из квадратиков отображается еще и текст, цветом на полутон светлее квадратика.

И таки да, на маке где HDR присутствует - в сиреневом квадратике появляется светло-сиреневая надпись.

На мониторе где HDR'а нет - надписи нет, оба квадратика сиреневые.

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

Получается, что это просто маркетинговая ебола, и при адекватном подходе к формированию изображения, его свободно можно передать 16.7 миллионами цветовых оттенков?

И вся эта лабуда про необходимость или желательность HDR'а всего лишь спихивание собственного ниасиляторства на железку: типа «мы не смогли в нормальный алгоритм изображения, поэтому вот вам RAW, делайте че хотите».

 ,

windows10
()

Файловый менеджер моей DE

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

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

Последнюю неделю посвятил дописыванию ФМа, после которого сделаю пару косметических допиливаний и раздам вам на поругание в виде установочного скрипта, пока только для DEB-based. Собственно оно уже устанавливается и работает.

Итак, ФМ. Что мы уже умеем.

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

 

windows10
()

Выбор монитора на VA-матрице

Форум — Talks

С моего старенького LG 25UM58 потихоньку начала отклекиваться товарная пленка, а это признак того что нужно менять монитютор.

В связи с этим созрело два вопроса:

1. Если ли тут реальные владельцы VA-матриц, желательно от 144HZ?

2. Как оно ведет себя в работе, по вашему опыту, стоит или нет?

Работа - интернетик, иногда консоль, очень редко игры в основном Казаки. Фильмы не смотрю.

Благодарю.

 

windows10
()

usb usb3-port2: disabled by hub (EMI?), re-enabling

Форум — General

Приветствую.

Есть переходник - USB-RS232.

Его задача - бесконечно читать показания девайса по Modbus по принципу «послал запрос - дождался ответа».

Разовый запрос-ответ работает. Цикличный порождает сабжевую ошибку:

[13487.848876] usb 3-2: New USB device found, idVendor=1a86, idProduct=7523, bcdDevice= 2.54
[13487.848885] usb 3-2: New USB device strings: Mfr=0, Product=2, SerialNumber=0
[13487.848888] usb 3-2: Product: USB2.0-Ser!
[13487.849620] ch341 3-2:1.0: ch341-uart converter detected
[13487.851513] ch341-uart ttyUSB0: break control not supported, using simulated break
[13487.851624] usb 3-2: ch341-uart converter now attached to ttyUSB0
[13510.183654] usb usb3-port2: disabled by hub (EMI?), re-enabling...
[13510.183691] usb 3-2: USB disconnect, device number 17
[13510.184786] ch341-uart ttyUSB0: ch341-uart converter now disconnected from ttyUSB0
[13510.184810] ch341 3-2:1.0: device disconnected

Код из серии код удален благодаря слабовидящим, которые вместо обсуждения физической потери железки, обсуждают код

1. Одиночные команды работают. Типа ...одиночный код... - не вылетает. Только при агрессивном использовании;

2. Этот же компьютер (MBP2012), этот же переходник, на этом же порту - работает под Виндой, по этому же алгоритму, ничего не теряя;

3. Согласно показания осциллографа, никаких всплесков на D+\D- нет.

Кто-нибудь сталкивался с подобным?

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

Благодарю.

 , ,

windows10
()

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