LINUX.ORG.RU

Сообщения MOPKOBKA

 

Wayland, 15 лет, итоги: В играх 30 фпс

Форум — Desktop

Решил протестировать готовность Wayland, скачал Ubuntu 24.04, поставил, ничего не настраивал, не удалял, просто выбрал Wayland сессию, которую Canonical старательно убрал как стандартную, что бы оберечь нормального пользователя от этого лакомства.

Через Lutris стал запускать Epic Games: GTA V, RDR2. И через Steam CS2.

Во всех играх около 20-30 фпс, я сначала подумал что Wayland неправильно определил частоту моего экрана, 277 гц, и сделал лок на 30, но нет, 40 фпс иногда проскакивает.

Переключился на X сессию, 200-500 фпс, в зависимости от игры, так же как на Slackware XFCE, почему так? Консольный экспириенс?

RTX 4070 + драйвер 555, i9-14900K

 

MOPKOBKA
()

Как в Nautilus создать файл, и тут же ему назначить имя?

Форум — Desktop

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

И второй вопрос, file roller выкинули из gnome, как зайти в большой архив и извлечь один файл?

 

MOPKOBKA
()

(neo)vim, разные отступы для html, css, js, php в одном файле php

Форум — Development

Я обычно пишу все в одном файле *.php, иначе потом забываю какие файлы нужно закинуть через WinSCP на сервер, а какие нет. Там есть php, html, js, css.

Но я привык иметь для css и html отступ в два пробела, а для php и js в четыре. Как мне это настроить? Речь про авто-отступ.

 ,

MOPKOBKA
()

Как ограничить доступ к ~/.config/google-chrome?

Форум — Desktop

Вот есть всякие флатпаки, firejail, они требуют что бы приложения запускались через них, но как мне ограничить доступ всем к папке ~/.config/google-chrome, кроме избранных приложений, thunar, mousepad и самого google chrome?

Не запускать же все через firejail, удобнее было бы наоборот, выдавать разрешение, а не вешать ограничения на процессы.

 

MOPKOBKA
()

Несколько flexible array member

Форум — Development

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

Описание того что я хочу:

struct String {
  int length;
  char str[length]; // == char str[];
                    // указание длинны, просто подсказка для компилятора
};

struct Item {
  struct String name; 
  struct String description;
  bool flag1, flag2, flag3;
  int elements_length;
  struct Element elements[elements_length]
};


// Item *i = malloc(999999999);
// (char*)&i->description.length == ((char*)&i->name.str) + i->name.length

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

 ,

MOPKOBKA
()

Есть ли программа для очереди заданий?

Форум — General

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

Писать сам это не собираюсь, хотелось бы что то не васянское, может systemd такое уже умеет?

 

MOPKOBKA
()

Си. Почему бы не запретить запись в стек?

Форум — Development

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

#include <stdio.h>

register long unsigned rsp asm("rsp");

void print_arg(int arg) {
    ((int*)rsp)[3] = 0xBADC0DE;
    printf("arg = %x\n", arg);
}

int main(int argc, char **argv) {
    print_arg(0xF00D);
    return 0;
}

Этот код отрабатывает и не выводит ошибкок с

-fhardened -fcf-protection=full

На мой взгляд выглядит небезопасно.

Почему бы не вставлять проверки на ассемблере при записи в память, на включаемость в регион стека? Если нужно записать что то в аргумент на стеке (int), то проверку можно не вставлять. При записи по указателю, уже обязательно вставлять. Если адрес стека то ошибка. В memset проверять пересечение двух диапазонов.

Если на стек пишет fread(), то нужно вставить еще проверку на разрешающий диапазон буфера в который он пишет. Но тут компилятору нужно обязательно отслеживать откуда приходит поинтер, но если мы говорим про значения на стеке, то это не должно представлять сложности, значение всегда лежит в прошлых значениях стека, а значит вычислить размер буфера можно в момент компиляции, ну или записать в какую нибудь дополнительную переменную на стеке, если речь о сложном потоке управления и alloca.

void read_file(const char *name)
{
        char buff[999];
        FILE *f = fopen(name, "rb");
        read_block(f, buff);
}

void read_block(FILE *f, char *buff)
{
        // тут компилятор должен вывести что len(buff) == 999
        fread(buff, 1, 9999, f);
}

Что бы все идеально работало, нужно будет:

  • Пометить libc функции
  • Если функция работает со стеком как у меня в верхнем примере, но это правильное поведение, пометить и ее
  • Перекомпилировать основные библиотеки, что бы не ломать ABI можно ввести экспорт двух прототипов, с доп.значениями для проверки диапазонов и без, дублирование прототипов понадобится для малого числа функций

 

MOPKOBKA
()

Orage (программа для организации времени) из Xfce портирована на gtk3

Форум — Desktop

Orage - программа для Xfce для организации времени. Раннее она оставалась на gtk2 и не была доступна для новых версий Xfce.

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

Подробности

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

 ,

MOPKOBKA
()

Linux непригоден для просмотра котиков

Форум — Talks

Решил запустить последний RoboCop на Linux, в меню меня встретили фризы в пару секунд, поэтому я побежал в магазин за новой видеокартой, но фризы не прошли, и я поставил Windows, а там тоже самое! Оказалось нужно просто подождать 10-20 секунд, и больше такого не будет, даже при следующем запуске.

Но под протоном испорчены разные вещи, например коты

Proton - https://ibb.co/g7KHmw6

Win - https://ibb.co/6byWNF8

 ,

MOPKOBKA
()

Red Hat угощает Wayland-ом разработчиков Firefox

Форум — Talks

Мартин Странски из Red Hat написал Wayland-Proxy как C++-версию предыдущей экспериментальной концепции, написанной на Rust

Среди ошибок Firefox Wayland одна из самых распространенных ошибок связана с потерей соединения с компоновщиком Wayland. Чтобы справиться с этим, необходимо иметь прокси-сервер между Firefox и компоновщиком Wayland для кэширования сообщений и предотвращения переполнения очереди сообщений компоновщика.

В комментариях разбирают подробнее

Mutter (и, возможно, другие) завершает работу клиента Wayland, если он распознается как зависший. Обычно это означает, что клиент Wayland недостаточно быстро читает сообщения из сокета дисплея Wayland и буфера вывода сообщений компоновщика. заполнено. Это может быть ошибка в самом приложении (цикл событий не обрабатывается) или это вызвано устройствами ввода, такими как мышь с частотой 1000 Гц, которая генерирует слишком много событий.

Такая ошибка действительно есть, любители Wayland с высокой герцовкой мыши, ранее делились советами не двигать мышкой когда открыт Firefox, иначе это может немедленно привести к его закрытию.

https://www.phoronix.com/news/Wayland-Proxy-Firefox

 

MOPKOBKA
()

ДИН, почему забанили космоспеца?

Форум — Linux-org-ru

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

www.linux.org.ru/people/kompospec/profile

 ,

MOPKOBKA
()

Может ли быть software rendering лучше hardware (сюда отнесу OpenGL) по задержке?

Форум — Development

Можно заметить что без композитора чистые X11 приложения ощущаются намного более отзывчивыми и быстрыми, так же на Windows приложения использующие GDI с выключенным композитингом чувствуются очень хорошо, в чем причина?

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

 ,

MOPKOBKA
()

Debian/Ubuntu собрать Emacs только с gtk (deb)

Форум — General

Делаю

apt source emacs
если выполню
fakeroot rules/binary
то он начнет собирать со всеми фронтендами, а нужно только с gtk. Как мне это указать?

Нужно https://packages.debian.org/buster/emacs-gtk

Собирает:
https://packages.debian.org/buster/emacs-nox
https://packages.debian.org/buster/emacs-gtk

 , ,

MOPKOBKA
()

gtk3, как сделать такую таблицу

Форум — Development

Есть таблица (TreeView) вида

+------+------+------+
| Заг1 | Заг2 | Заг3 |
+------+------+------+
| 1234 | 1234 | 1234 |
+------+------+------+
| 1234 | 1234 | 1234 |
+------+------+------+
| 1234 | 1234 | 1234 |
+------+------+------+
| 1234 | 1234 | 1234 |
+------+------+------+

Нужно добавить под каждую строку прогресс бар, размером с (Заг1+ Заг2), при этом остальные столбцы должны быть выравнены.

+------+------+------+
| Заг1 + Заг2 | Заг3 |
+------+------+------+
| 1234 | 1234 | 1234 |
+------+------|      |
+ #######.... |      |
+------+------+------+
| 1234 | 1234 | 1234 |
+------+------|      |
+ #######.... |      |
+-------------+------+
| 1234 | 1234 | 1234 |
+------+------|      |
+ #######.... |      |
+-------------+------+

Как это сделать?

 

MOPKOBKA
()

Как научить человека пользоваться компьютером?

Форум — Talks

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

Что можно такому человеку предоставить на русском языке по Linux? С упором на вещи которые можно применять в обычной жизни, то есть лучше что бы не был упомянут chmod, а было упомянуто как перекинуть файлы на флешку, как заполнить форму в LibreOffice итд. Что бы проходились поверхностно, но по нужным вещам.

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

 

MOPKOBKA
()

А почему у Gtk еще нету официальной React-подобной библиотеки поверх?

Форум — Development

Вот смотрю на то как в Rust делают приложения на Gtk, и очень удивляюсь, неужели кому то нравится писать вручную все эти интерфейсы в императивном стиле? А ведь пишут, еще обходя все проблемы, которые исходят из того что у Gtk свой подход к управлению памятью который на Rust не налазит, как и наследование компонентов, из за чего в Rust пришлось добавлять «классы» через макросы - https://gtk-rs.org/gtk4-rs/stable/latest/book/g_object_subclassing.html

Есть ли какая то проблема в создании libgtk-react, где можно будет описывать интерфейс декларативно, с использованием javascript, с удобным получением данных из C++ или Python части?

Вроде есть какие то библиотеки, но они нигде не используются как я понял.

 , ,

MOPKOBKA
()

NVIDIA, EDID и ttyX, как избавиться от «Вход не поддерживается»?

Форум — Desktop

После установки драйверов nvidia-driver:525, после запуска Xorg, если переключиться в tty монитор писал «Вход не поддерживается», переключение обратно в xorg tty не помогало. После добавления в xorg.conf

Section "Screen"
  Option "UseEDID" "False"
EndSection
Переключение обратно в xorg начало приводить к тому, что xorg нормально отображается. Но в tty все равно «Вход не поддерживается», его я никак после запуска xorg увидеть не могу.

Как я понял, проблема в том что переключение на tty пытается ввести монитор в какой то неправильный режим, но как его сделать правильным?

Пробовал ставить по отдельности и вместе nomodeset, nvidia-drm.modeset=1, nvidia-drm.modeset=0, drm.edid_firmware=edid/custom_edid.bin где custom_edid.bin это то что я сгенерировал находясь в графической сессии с помощью nvidia-settings, но ничего не помогло.

В Wayland вообще всегда нет сигнала, как и в tty, как я понимаю настроив tty я смогу и им пользоваться.

Debian 12, Linux 6.1.0, NVIDIA 525.105.17, RTX 3060 LHR

Монитор https://www.dns-shop.ru/product/483fcc72d53b3332/238-monitor-acer-ka242ybi-ce...

Видеокарта https://www.dns-shop.ru/product/49b77a8077562eb0/videokarta-kfa2-geforce-rtx-...

 , ,

MOPKOBKA
()

Баг в названии опроса

Форум — Linux-org-ru

www.linux.org.ru/vote-vote.jsp?msgid=17134667

Опрос тут называется:

&#171;Рукость&#187; ЛОРовца: какая рука у вас преобладающая?
Напрягают
&#171;
и
&#187;
maxcom

 

MOPKOBKA
()

Какой VPN поставить на сервер?

Форум — General

Однажды я смог настроить PPTP, но теперь не получается, пробовал WireGuard но там какие то интерфейсы, пиры, ключи, вроде переменных меньше, но слишком сложно, я вообще ничего не понял. Для OpenVPN какие то ключи надо делать, конфиги писать, iptables запускать, неужели еще ничего не придумали простого? И что бы NetworkManager поддерживал.

 

MOPKOBKA
()

Как приходят в Kali Linux

Форум — Talks

Многие на ЛОРе жалуются, что люди выбирают Kali Linux просто так первым дистрибутивом, в погоне за любимым персонажем из фильма например, и советуют вместо этого читать книжки о Linux, изучить а там уже приступать. Ну и вот что там написано в этих самых книгах, как раз о той самой установке Kali Linux с нуля!

Страницы из книги

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

 

MOPKOBKA
()

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