LINUX.ORG.RU

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

Как кушать вилкой. ... или о fork() в двух словах

Статьи — Разработка

Статья о создании процессов в Linux

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

 

PPP328
()

Проблемы с обновлённым Steam’ом

Форум — Games

Чо, как у кого прошло новейшее обновление с новым интерфейсом? В интернетах-то вон, вой стоит, что не запускается.

Как было у меня — обновление прошло, Стим сам перезапустился в первый раз нормально(!). Поглядел на новый интерфейс, вышел. И после этого — всё, халява кончилась, запускаться отказывался. Иконка в трее есть, окна нет. В логах куча подобного дерьма:

Jun 16 07:22:52 **** kernel: [ 1924.346637] traps: Composite Threa[4742] trap invalid opcode ip:7ff19dbdb794 sp:7ff18ae8a7f0 error:0 in libcef.so[7ff19b2ef000+7770000]

В интернетах советуют проверить, что установлены 32-битные библиотеки OpenGL/Mesa. Но у меня последний блоб с нвидиевского сайта, естественно, 32-битные либы тоже.

Что помогло лично мне: запустил стим с ключом -vgui, при этом загрузился старый интерфейс. Включил в настройках «use GPU acceleration» (много советов его выключать, но, похоже, новому интерфейсу он, наоборот, как раз таки нужен). Стим захотел перезапуститься, перезапустился сам нормально. После штатного выхода теперь вроде бы запускается без проблем с новым интерфейсом. Ну, ещё Big Picture почему-то оказался в оконном режиме вместо полноэкранного, хотя соответствующий пункт был выключен — помогло его включить/выключить.

Не факт, что переживёт перезагрузку, правда, не пробовал ещё…

 

alegz
()

CentOS 9 Накрылся Chrome

Форум — Desktop

Разрабатывал одну програмку на js. И где-то ошибся в определении финала цикла )

Ну и… ( Во первых Chrome перестал вообще на что-либо реагировать.

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

Но теперь даже если выключить Веб-сервер, Не восстанавливать пред. вкладки И еще я напрочь выключил JavaScript то все равно открытие МЕНЮ … три точки занимает около 1 минуты (

Ну что еще можно сделать ? Оно видимо из кеша кушает этот js менее 1кб

Могу подогнать такой код кому надо ) В нем нем умышленно вредоносных действий )

 ,

mirek
()

Есть у кого опыт кросс-компиляции пакетов под Arch Linux ARM?

Форум — General

Хочется собирать на мощной amd64 машине. Желательно с использованием archbuild, чтоб в дальнейшем автоматизировать. Пока что получилось канпелять под qemu, но это бред и тормоза.

 , ,

token_polyak
()

Вывод длинных строк в GDB

Форум — Development

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

Допустим во время отладки я хочу вызвать метод node->toString().

Я пишу в интерактивной строке отладчика: call node->toString().

В ответе получаю: $1 = "<тут строка 256 символов>"... т.е. в выводе значения результата я получил только первые 256 символов, а дальше ...

Как заставить отладчик показывать всю строку?

 

sotlef
()

Представлен open-source драйвер Vulkan для видеокарт NVIDIA

Новости — Hardware and Drivers
Группа Hardware and Drivers

Компания Сollabora представила open-source драйвер Vulkan для видеокарт NVIDIA под кодовым названием «NVK».

Что такое NVK?

NVK — новый видеодрайвер Vulkan API с открытым исходным кодом для видеокарт NVIDIA в Mesa. Драйвер был полностью написан с нуля с использованием официальных заголовков «NVIDIA Open GPU Kernel Driver» от самой компании NVIDIA.

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

Источники:

https://www.collabora.com/news-and-blog/news-and-events/introducing-nvk.html
https://www.phoronix.com/news/NVK-Running-Talos-Game
https://www.phoronix.com/news/NVK-Running-Talos-13-FPS

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

 , , , ,

Pasha115
()

Порт Lotus 1-2-3 под Linux

Новости — Проприетарное ПО
Группа Проприетарное ПО

Тэвис Орманди (Tavis Ormandy) выпустил бинарный патч, который модифицирует Lotus 1-2-3 для ОС UNIX System V 386, обеспечивая его работу под современным линуксом.

Началось всё с того, что Орманди из любопытства изучал дистрибутив Lotus 1-2-3 (предположительно 1990 года) под коммерческий юникс и обнаружил, необычный способ линковки исполняемого файла в формате COFF — partial linking. Как ему объяснили, такой способ позволял при желании слинковать исполняемый файл с плагинами, которые нельзя было подключить иначе, если в ОС не было dlopen().

В итоге Орманди смог написать утилиты для правки системных вызовов Unix и обёртку для их замены на вызовы Linux и слинковать всё в 32-битный ELF. Одной из крупных проблем оказалась адаптация termios. Интересно, что на старых версиях Линукса, с поддержкой callgate и lcall7/lcall27 такая адаптация прошла бы легче.

Ещё одной из проблем оказалась защита от копирования. Орманди считает себя вправе изготовить файл-ключ, обеспечивающий работу программы, так как он владеет легальной копией Lotus 1-2-3 под MS-DOS. Для остальных он приводит скриншот дизассемблера IDA и расплывчатые рекомендации, как делать такой файл. Программа не продаётся уже почти 20 лет. Да и легальных владельцев Lotus 1-2-3 в мире немало.

Тэвис Орманди — специалист по безопасности («white hat») из Гугла и энтузиаст Lotus 1-2-3. Ранее написал драйвер для MS-DOS версии Lotus, обеспечивающий её работу в окне терминала DOSEMU2 произвольного размера.

Lotus 1-2-3 — одна из первых программ электронных таблиц, отличавшаяся от конкурентов скоростью, надёжностью и удобством. Её нередко называют одной из причин коммерческого успеха платформы IBM PC в 1980-х. Поддержка Lotus долго была критерием совместимости для клонов. В 1990-х Lotus проиграла MS Excel-ю, так как GUI-версия появилась слишком поздно, и в 1995 году компанию купила IBM.

Новость на Opennet

Исходные тексты патча и утилит с инструкцией

>>> Подробное объяснение

 , ,

question4
()

Как найти цифру в числе

Форум — Development

Добрый день. Кто нибудь сможет объяснить, как это работает?

алгоритм нахождения цифры n-значного числа:

(num % 10 ** 1) // 10 ** 0
последняя цифра

(num % 10 ** 2) // 10 **1
предпоследняя цифра

(num % 10 ** 3) // 10 **2
предпредпоследняя цифра …

(num % 10 ** n) // 10 ** n-1
первая цифра

(num % 10 ** n-1) // 10 ** n-2
вторая цифра

Прохожу курс программирования. Все, чем пользуюсь из инструкции выше не работает в заданиях и даже в VScode. Я в целом не понимаю, как работает (или как должен работать) алгоритм нахождения цифры n-значного числа.

 

Leo_Skil
()

python gtk dialog позиция

Форум — Development

кто подскажет можно ли позиционировать диалог gtk? На тайловой вм окно float, т.е в принципе не отличается от обычного, но позиция не меняется

Использовал этот пример https://stackoverflow.com/questions/64711588/position-of-gtk-dialog

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

 , ,

monkdt
()

Возможно ли, со стороны клиента, загружать файл на web-сервер(проект на react) ботом?

Форум — Web-development

Всем добра!

Подскажите, пожалуйста, кто сведующ в react : есть web-сервис (проект на react) у которого есть форма для загрузки картинки на сервер. К серверу доступа нет, кроме как по web. Собственно из элементов формы только кнопка для загрузки файла. Возможно ли загрузить файл скриптом с другой машины? Т.е. по тому, что видно в браузере («Посмотреть код») нет ни названия формы ни названия поля, которым грузиться файл.

 , ,

dverin
()

А какие хорошие игры вышли за последние 10 лет?

Форум — Games

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

Мой список:

  • Resident Evil 0 Remake Remastered
  • Resident Evil 1 Remake Remastered
  • Resident Evil 2 Remake
  • Resident Evil 3 Remake
  • Metro: Last Light
  • Metro: Exodus
  • DOOM (2016)
  • Killing Floor 2
  • Crash Bandicoot N’Sane Trilogy
  • Railway Empire

 

Zadoff386
()

Периодически OOM Killer убивает MariaDB 10.5.18

Форум — Admin

Всем доброго дня! Помогите, пожалуйста, разобраться в проблеме! Периодически отваливается сервер БД.

Сервер с 16Гб оперативки

Debian 11
MariaDB 10.5.18
Все таблицы InnoDB

.mycnf
[mysqld]
log-error=/var/log/mysql/mysql-errors.log
innodb_buffer_pool_size = 10G

В Логах такое:

2023-03-24 15:43:49 0 [Note] InnoDB: Uses event mutexes
2023-03-24 15:43:49 0 [Note] InnoDB: Compressed tables use zlib 1.2.11
2023-03-24 15:43:49 0 [Note] InnoDB: Number of pools: 1
2023-03-24 15:43:49 0 [Note] InnoDB: Using crc32 + pclmulqdq instructions
2023-03-24 15:43:49 0 [Note] InnoDB: Using Linux native AIO
2023-03-24 15:43:49 0 [Note] InnoDB: Initializing buffer pool, total size = 10737418240, chunk size = 134217728
2023-03-24 15:43:49 0 [Note] InnoDB: Completed initialization of buffer pool
2023-03-24 15:43:49 0 [Note] InnoDB: Starting crash recovery from checkpoint LSN=510990515215,510992943381
2023-03-24 15:43:49 0 [Note] InnoDB: Starting final batch to recover 2116 pages from redo log.
2023-03-24 15:43:50 0 [Note] InnoDB: 128 rollback segments are active.
2023-03-24 15:43:50 0 [Note] InnoDB: Removed temporary tablespace data file: "ibtmp1"
2023-03-24 15:43:50 0 [Note] InnoDB: Creating shared tablespace for temporary tables
2023-03-24 15:43:50 0 [Note] InnoDB: Setting file './ibtmp1' size to 12 MB. Physically writing the file full; Please wait ...
2023-03-24 15:43:50 0 [Note] InnoDB: File './ibtmp1' size is now 12 MB.
2023-03-24 15:43:50 0 [Note] InnoDB: 10.5.18 started; log sequence number 511012950843; transaction id 293489669
2023-03-24 15:43:50 0 [Note] InnoDB: Loading buffer pool(s) from /var/lib/mysql/ib_buffer_pool
2023-03-24 15:43:50 0 [Note] Plugin 'FEEDBACK' is disabled.
2023-03-24 15:43:50 0 [Note] Server socket created on IP: '127.0.0.1'.
2023-03-24 15:43:50 0 [Note] Reading of all Master_info entries succeeded
2023-03-24 15:43:50 0 [Note] Added new Master_info '' to hash table
2023-03-24 15:43:50 0 [Note] /usr/sbin/mariadbd: ready for connections.
Version: '10.5.18-MariaDB-0+deb11u1'  socket: '/run/mysqld/mysqld.sock'  port: 3306  Debian 11
2023-03-24 15:43:50 3 [Warning] Access denied for user 'root'@'localhost' (using password: NO)
2023-03-24 15:43:50 4 [Warning] Access denied for user 'root'@'localhost' (using password: NO)
2023-03-24 15:44:10 0 [Note] InnoDB: Buffer pool(s) load completed at 230324 15:44:10

При перезагрузке (service mysqld restart) - сервер стартует нормально. Но судя по графикам, после перезагрузки использование оперативной памяти постоянно растет и в какой-то момент опять срабатывает OOM Killed

[Fri Mar 24 15:41:03 2023] Out of memory: Killed process 953944 (mariadbd) total-vm:15435712kB, anon-rss:11604836kB, file-rss:0kB, shmem-rss:0kB, UID:111 pgtables:23380kB oom_score_adj:0

Менял настройки innodb_buffer_pool_size, не помогает Что еще можно покрутить?

Заранее спасибо! )

 

Sega
()

Каким образом ставить библиотеки Python

Форум — General

Я использую arch linux и у меня есть 2 способа установки библиотек python, то есть я могу поставить pygame через sudo pacman -S python-pygame и pip install pygame. Так какой способ лучше ? Просто я слышал, что если ставить библиотеки через pip, то при обновлении могут возникнуть проблемы.

 , , , ,

pcoder
()

Куда девается вся мотивация?

Форум — Talks

Вот сидишь ты такой, приходит в голову классная идея или проект. Заказываешь железки или начинаешь под это дело учить новый язык. Довольно урчишь предвкушая результат… И тут бац!

А оно мне надо вообще?

А кому-то оно вообще надо будет?

Да зачем я это делаю, у меня и без этого все хорошо вроде

Да оно нинужно вообще

И все… Руки опускаются, железки отправляются на полку собирать пыль, иконка доты 2 уже озаряет рабочий стол. Занавес.

Пацаны, у одного меня такое бывает?

 , ,

Unixson
()

Thorium - быстрейший браузер на планете Земля

Форум — Desktop

По утверждению автора, прирост производительности 8-40% по сравнению с ванильным Chromium.

Скомпилирован clang с опциями SSE4.2, AVX, AES, thinLTO, import_instr_limit, PGO, LLVM-оптимизацией циклов и другими.

Пользуюсь им некоторое время, а сегодня как раз обновление вышло (110.0.5481.178). Решил поделиться. Есть deb.

Домашняя страница.

Оптимизации (страница с фоновыми звуками!).

Сравнение производительности (тоже со звуками!).

Список патчей.

 , ,

dataman
()

Опакетить ядро для Raspberry Pi

Форум — General

Собираю для сабжа на ББ кастомное ядро со своими патчами по официальной документации https://www.raspberrypi.com/documentation/computers/linux_kernel.html#cross-compiling-the-kernel Ядро успешно компилируется, дальше предлагается руками установить всё это на диск с системой. Работать так оно будет, но без заголовков ядра и исходного кода которые остались на хосте. Собственно вопрос: а можно ли как-то всё это дело как-то собрать в стандартные .deb чтобы потом установить на малине? И как это в данном случае правильно сделать с учётом всяких .dtbs которые там копируются на отдельную boot-партицию?

 , , ,

sholmes
()

Немогу подключится к http proxy i2pd

Форум — General

Приветствую! Поставил я пару дней назад i2pd и столкнулся с проблемой, что у меня куда то отваливается http proxy сервис при автозапуске i2pd во время старта компа. В веб консоли написано, что прокси запущен, но браузер отказывается с ним соединяться. Лечится все простым перезапуском i2pd. В конфиге я поменял адрес прокси с дефолтного localhost на адрес своего компа. Если вернуть значение адреса по умолчанию, то после автозапуска с прокси нет никаких проблем. Собственно как это лечить?

Дистрибутив - archlinux

 ,

Shork
()

Посоветуйте незадротских игорей

Форум — Games

Посоветуйте во что можно поиграть (нативно или через wine), на что не нужно тратить кучу времени. То есть не всякие рпг с погружением в лор и кучей квестов, нет на это времени) И чтоб с низким порогом вхождения, а то мне кажется, что быстрее какой-нибудь фреймворк изучить, чем осилить доту (не играл). Вот L4D2 — идеальный вариант, запустил, прошёл какую-нибудь кампанию за час и всё)

Комп у меня нищебродский, новые игры не тянет. Нормально идут игры на source. Самое тяжёлое, что тянет — bioshock infinite через wine на минималках и с низким разрешением. Так что наверное подойдёт что-то с 2004 по 2010 год. Более раннее не хочу, ибо графон.

Ещё хотелось бы чтоб работал мультиплеер на пиратке) Думаю поиграть по сети во flatout 2 (там можно), но пока руки не дошли.

 , ,

el-d
()

Ноутбук для шабашек

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

Со средствами разработки под промышленное железо для онтопика традиционно всё было плохо. Проприетарные программы, типа TIA Portal от Siemens, непонятно каким чудом под родной Виндой криво-косо работали, не то, что в условном Wine. По сути, было 2 пути: сидеть на Винде или держать виртуалку со всем необходимым софтом.

Однако, сейчас почти все мажорные производители от нас убежали, и их оборудование стало доступно только контрабандой. Заказчики стали интересоваться альтернативами, в чью сторону раньше особо не смотрели. Часть из них используют разные самопальные IDE для языков МЭК 6-1131/3, часть – CODESYS. CODESYS – широко известная в узких кругах проприетарщина, имеющая нативный линуксовый рантайм, но, разумеется, не имеющая нативной версии среды разработки. Я давно слышал, что CODESYS таки работает в Wine, пусть и с многочисленными оговорками. Не так давно решил попробовать и – о чудо, почти никаких пятен!

На скриншоте и фотке:

  • Manjaro на ноутбуке Dell Lattitude 7280
  • Контроллер Weintek cMT-CTRL01 с модулями расширения
  • Маленькая панелька оператора ONI
  • Plasma с Kvantum и темой KvMojaveLight
  • CODESYS 3.5 SP15 Patch 3 в Wine Staging 8.1

По сути, в Wine сейчас работают все нужные мне функции CODESYS. Небольшой проектик удалось сделать без особых проблем. Позывов плюнуть на эту дурацкую затею и запустить виртуалку с Виндой почти не было.

Хотелось бы, конечно, иметь открытый софт для МЭК 6-1131/3. Он даже есть в лице Beremiz и, вроде бы, работает. Но железа для него практически нет. Какое-то программируемое реле, хтонический ужас для автоматизации атомных станций и фигня для умного дома.

 , , ,

Alden
()

Переводилка для вашего ПекА

Форум — Talks

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

Обновлено.

Зависимости apt install lua xclip xsel xdotool aosd_cat translate-shell

Вопщем таксь.
Порой, нужно не просто выделить текст где угодно и увидеть его по перевод по горячей клавише,
но и получить его перевод в виде текста. К счастью в x11 есть аж три буфера обмена.
Поэтому добавил опцию copy_translated=true/false.

Суть проста:

  • вешаете скрипт, например на F7
  • выделяете произвольный текст без его копирования через контекстное меню(как и было)
  • нажимаете F7 и
  • всплывает текст перевода (как и было)
  • нажимаете среднюю кнопку мышки и в любом поле ввода вставляется оригинальный текст
  • нажимаете правую кнопку мышки и через контекстное меню делаете вставить и вставляется переведённый вариант
  • повторное нажатие F7 ещё раз покажет перевод, без повторного выделения
#! /bin/env lua
local poptrans =
{
    -- select language from lang to lang
    lang_from = "auto", --auto,en,fr,de or other
    lang_to   = "ru",
    -- copy translated text to clipboard
    -- if you select text (no use context menu textcopy)
    --   - middle mouse button paste translated text
    --   - right mouse button context menu paste original text
    --   - script used 2 levels X11 clipboard buffest of 3 levels :)
    copy_translated = true,
    -- how more seconds show you translated text
    show_timer = 3,
    -- popup translated text under mouse position
    follow_mouse = true,
    -- if follow_moise is false, set translated
    -- text position static coords
    popup_pose_x = 0,
    popup_pose_y = 0,
    -- max width message in screen, zero is auto
    popup_width  = 0,
    -- get text from system clipboard
    app_clipboard = "xclip -o 2> /dev/null",
    -- set text to system clipboard
    app_set_clipb = "xsel -b -i ",
    -- get mouse systemd coords
    app_mousepose = "xdotool getmouselocation 2> /dev/null",
    -- show text popup with translated text
    app_popup_msg = "aosd_cat -x %d -y %d -B white -R white -t 0 -p 0 -u %d -w %d"
}

function poptrans:run()
    local translated = '';
    self.previos_text = '';
    -- read clipboard
    local exec = io.popen(self.app_clipboard);
    local text = exec:read('*all');exec:close();
    -- get cursor position
    exec = io.popen(self.app_mousepose);
    if self.follow_mouse then
        self.popup_pose_x,self.popup_pose_y = exec:read("*all"):match("x:(%d+) y:(%d+)");
        self.popup_pose_x = self.popup_pose_x+3; exec:close();
    end
    -- do not translate previos text or empty or translated text
    if text ~= previos_text and text ~= '' and text ~= translated then
      local from = ''
      if self.lang_from ~= "auto" then
        from = self.lang_from;
      end
      exec = io.popen('trans   '..from..':'..self.lang_to.." -b '"..text.."'");
      translated = exec:read("*all"); exec:close();
      if self.copy_translated then
         exec = io.popen(self.app_set_clipb,'w')
         exec:write(translated:sub(1,#translated-1));
         exec:flush();
         exec:close();
      end
      previos_text = text;
      exec = io.popen(
      self.app_popup_msg:format(
      self.popup_pose_x,self.popup_pose_y,self.show_timer*1000,self.popup_width),"w");
      exec:write(translated);exec:close();
    end
end

poptrans:run()

Не используйте версию из истории правок!. Там опасный баг с кавычками, (спасибо @maxcom исправить дал)
Единственное что там полезно это пример как делать перевод через гугл API по токену.
Но раз появилась возможность правки то ::)

- ИСПОЛЬЗОВАТЬ НА СВОЙ СТРАХ И РИСК, Я НЕ НЕСУ НИКАКОЙ ОТВЕТСТВЕННОСТИ
- ВСЁ ПРЕДОСТАВЛЯЕТСЯ КАК ЕСТЬ, ЛЮБЫЕ СОМНЕНИЯ ДОЛЖНЫ ВЕСТИ
- К ОТКАЗУ ОТ ИСПОЛЬЗОВАНИЯ

 , , , ,

LINUX-ORG-RU
()