LINUX.ORG.RU

Сообщения MOPKOBKA

 

Программы, которые не тормозят

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

Предлагаю составить список программ, которые работают быстро, или терпимо.

Но для начала я напишу то чего стоит избегать

  • qt5, qt6, gtk3, gtk4 они тормозят, открываются с задержкой, есть ощутимый лаг при взаимодействии
  • electron
  • wxWidgets если в качестве бекенда используется gtk3 или qt5
  • старые версии программ, например xfce до перехода на gtk3, или xpdf до перехода на qt5. они не тормозили, но они уже не развиваются, интереснее узнать что есть из живого, или хотя бы такого что будет легко установить без перекомпиляции

Программы которые работают терпимо

  • xfe файловый менеджер (не путать с xfce http://roland65.free.fr/xfe/ )
  • (x)nedit простой текстовый редактор c номерами строк и подсветкой
  • grafx2 рисовалка, ориентирована на pixelart
  • mpv просмотр видео
  • palemoon браузер. с отключенным javascript, ощущается приятно, открывает больше чем какой нибудь netsurf
  • OpenOffice офис. тормозит но тормозит намного быстрее чем LibreOffice
  • xdm дисплейный менеджер
  • jwm, icewm оконные менеджеры похожие на windows, быстрые и не требующие сложной настройки
  • cmus аудиоплеер с двухпанельностью. консольный что минус, но быстро работает с библиотекой, сканирует, поддерживает cp1251
  • mutt+msmtprc консольный почтовик, относительно легко настроить и управлять

Пользователь d советует рассмотреть проекты

  • suckless
  • pwmt

Пользователь xsaeta рекомендует

  • zzzfm двухпанельный файловый менеджер
  • nsxiv просмотрщик изображений
  • mpd для музыки
  • ClawsMail почтовик
  • приложения Trinity
  • приложения LXDE
  • Pidgin — мультипротокольный IM-клиент на GTK+2

Пользователь tiinn подсказывает XPaint программу для рисования

Пользователь posixbit рекомендует

  • SpaceFM (очень быстрый и мощный файловый менеджер GTK+ 2 с большим количеством плагинов).
  • Double Commamder (версия GTK+ 2; быстрый двухпанельный файловый менеджер, почти полная копия Total Commander).
  • Sylpheed (классический и самый быстрый почтовый клиент; GTK +2).
  • LillyTerm (терминал с настройкой через графический интерфейс на GTK+ 2), st (самый простой терминал; не использует Qt и GTK), Kitty (простой терминал, но с GPU-ускорением) {{MOPKOBKA: Kitty у меня тормозит}}.
  • Rainbow-CM, Parcelite (менеджеры буфера обмена на GTK+ 2).
  • Zathura-PDF-MUPDF (самая быстрая читалка PDF — именно эта версия с MuPDF, а не Poopler).
  • LXTask (диспетчер задач; можно собрать с GTK+ 2).
  • Cinelerra GG (самый быстрый, но довольно функциональный видеоредактор под Linux; не использует Qt и GTK).
  • GMPC (музыкальный плеер — быстрый и мощный графический клиент GTK+ 2 к mpd).
  • TransGUI (самый быстрый и лёгкий торрент-клиент; использует GTK+ 2, требует для работы установленный и запущенный transmission-daemon).
  • CudaText-GTK2 (довольно быстрый и развивающийся текстовый редактор, вдохновлённый SublimeText). {{MOPKOBKA: У меня тормозит}}
  • LiteXL (довольно быстрый текстовый редактор на Lua; не использует Qt и GTK). {{MOPKOBKA: на SDL2 думаю будет тормозить, не пробовал}}
  • Abiword (лёгкий и функциональный текстовый процессор) и Gnumeric (самый быстрый и функциональный табличный процессор под Linux; великолепная совместимость с xls/xlsx) — обе эти программы можно собрать с GTK+ 2. {{MOPKOBKA: У меня тормозит}}
  • Dia (лёгкий редактор диаграмм, схем и графиков; на GTK+ 2).
  • FreeOffice (самый быстрый офисный пакет под Linux, имеет хорошую совместимость с файлами Microsoft Office; использует Xlib, а не Qt или GTK).
  • ImageMagick-GUI (различные быстрые операции над изображениями; не использует Qt и GTK).
  • AzPainter (быстрый, но мощный графический редактор на Xlib).
  • Oculante (быстрый просмотрщик изображений; не использует Qt и GTK). {{MOPKOBKA: Rust}}
  • maim (простая, но гибкая утилита для создания скриншотов с настройкой через консольные команды; не использует GTK и Qt); {{MOPKOBKA: Не пробовал, но мне нравится scrot}}
  • Dunst (простейший центр уведомлений; не использует Qt и GTK).
  • FTP/SFTP-менеджер gFTP (GTK+ 2)
  • IRC-клиенты HexChat (GTK+ 2) и XChat-SE (Xlib) {{MOPKOBKA: HexChat все }}

Пользователь firkax советует свой WM https://dev.m1089.ru/fwmx

Коллективный анон советует

  • moc(p) - TUI
  • mpg123/ogg123 - CLI
  • xcalc - калькулятор {{MOPKOBKA: Входит в набор X11 Applications, там все хорошо работает, но не все актуально}}
  • https://codeberg.org/newsraft/newsraft - rss читалка

Пользователь vbcnthfkmnth123 рекомендует

Пользователь stabilitron рекомедует

  • ffplay - игрок видео, аудио, стримов, гифок, картинок и пр. {{MOPKOBKA: Программка проекта ffmpeg}}

Пользователь SPRATAY исползует

  • Bluetui - TUI for managing bluetooth on Linux
  • Lazygit - simple terminal UI for git commands

У пользователя dhubsith на скриншоте в LQ обнаружил

  • Avidemux - Редактор видеофайлов

Якобы не тормозят, но у меня тормозят еще как

  • gpu ускоренные терминалы
  • xterm, rxvt, vte терминалы
  • AbiWord замена ворда
  • SublimeText текстовый редактор
  • vim, emacs в любом виде

 , ,

MOPKOBKA
()

Баг, неправильное количество реакций

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

 

MOPKOBKA
()

Почему в UNIX атрибуты файлов не являются файлами?

Придумали зачем то отдельные утилиты, отдельные флаги со своим поведением, не лучше ли было сделать их тоже файлами, а сам файл директорией? Можно отдельный синтаксис перехода в директорию атрибутов, что бы не запутаться, например вместо «/» сделать ":"

Узнать дату создания файла cat file.txt:created_at

Записать дату создания echo **** > file.txt:created_at

Очень удобно!

Тоже относится и к /proc/cpuinfo, зачем нужен этот текстовик, если можно было сделать /proc/cpuinfo/core1/model_name

 

MOPKOBKA
()

Rust и Makefile, как?

$ echo 'fn main() {}' > main.rs
$ rustc --emit=obj main.rs 
$ rustc main.o -o main
error: couldn't read main.o: stream did not contain valid UTF-8
error: aborting due to previous error
$ cc main.o
/usr/bin/ld: main.o: in function `std::rt::lang_start' ... undefined reference to `std::rt::lang_start_internal'

Есть ли способ узнать что мне именно нужно линковать сейчас?

 

MOPKOBKA
()

Пустой элемент внизу

Если разлогиниться, то внизу появляется пустой элемент с классом infoblock

Пример треда где появляется: Почему используются в основном только две графические библиотеки?

 

MOPKOBKA
()

Почему DoH не защищает от замедления YouTube?

DoH должен скрывать информацию о ресурсе который запрошен пользователем, в Firefox при включении DoH должен включаться ECH, у меня все галочки тут горят https://www.cloudflare.com/ssl/encrypted-sni/

Получается все эти защиты фейковые, и не работают? Зачем их тогда делают?

 ,

MOPKOBKA
()

В Wayland добавили киллер-фичу, последние разработчики Xorg задумываются о переходе

Сегодня очень важный день. Вышел wayland-protocols 1.37!!!

Теперь в Wayland окна могут програмно устанавливать себе иконки! Да, да, вот эти что слева перед заголовком в Windows, Xfce, KDE. Раньше они тянулись лишь из файлов описания, теперь приложение может их изменять через протокол!!! Теперь даже разные окна одного приложения могут иметь разные значки если захотят!!!

Удивительно что это произошло, потому что в обсуждении я заметил вот такой комментарий от разработчика из RedHat:

Sebastian Wick @swick
Я проигнорирую этот MR, потому что аргументы здесь оказались бесполезными, и я также позабочусь о том, чтобы это было отклонено.

Так же икосафанатикам хочу напомнить что по единому мнению ЛОРа, Wayland готов уже как минимум 9 лет:

Wayland готов и является полноценной альтернативой X11. уже сейчас можно нажатием одной кнопки запустить GNOME под Wayland без каких-либо регрессий в сравнении с X.org.

------

Полные изменения wayland-protocols 1.37 можно прочесть тут https://lists.freedesktop.org/archives/wayland-devel/2024-August/043774.html

Еще добавили
* ext-image-capture-source
* ext-image-copy-capture

Для захвата изображения окна.

 

MOPKOBKA
()

Vim, Emacs или Xorg две колонки

Вертикально на монитор текста вмещается мало, в читалках есть возможность отображать две страницы рядом, так пустое пространство справа всегда занято, есть ли такой режим в vim без плагинов? А в Emacs? Если нет, то можно ли как то с помощью Xorg отобразить высокое окно в виде широкого разбитого?

 , ,

MOPKOBKA
()

Антиваксер реанимирует X.Org

Энрико Вайгельт в одиночку улучшает X.Org, 22 июля он предложил патч который вводит общий способ включения VRR. До этого VRR работал через перехватчики драйверов, которые разработчики драйверов реализовывали сами, что было архитектурно неправильно.

Так же Энрико выступает против античеловечных экспериментов по выведению новых видов гуманоидов с измененной ДНК. Но конечно это не сравнится с безумнейшим предложением разработчиков Wayland иметь DOS фреймбуфер без права получить положение окна в качестве замены оконной системы.

Все его патчи можно посмотреть тут, их очень много, есть исправление багов в том числе и под BSD, удаление мертвого кода, добавление новых возможностей: https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests?author_username=...

Так что слухи о прекращении разработки X.Org недействительны.

 , ,

MOPKOBKA
()

Как бы вы реализовали аналог bit flags на архитектуре без поддержки целых чисел, и без поддержки стандартных битовых инструкций?

Числа представлены в float. Битовый сдвиг отсутствует. Нужна не сам bit flags, а что нибудь альтернативное, что было бы эффективно на такой платформе.

Ситуация вымышленная, воспринимайте как головоломку.

 

MOPKOBKA
()

Умираю от жары, помогите раскидать процессы по ядрам!

В комнате трудно дышать, пот льется ручьем, запах расправленного китайского пластика по всей квартире, виновник i9-14900K.

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

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

Через taskset можно задать ядра, а как раскидывать процессы на основе температуры? Ядро 6.9.9

Водяное охлаждение не предлагать, оно уже есть! Все окна раскрыты, но дом превращается в сауну!

--- Нашел решение ---

thermald работает замечательно, спасибо krasnh!

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

 , ,

MOPKOBKA
()

Slackware, ядро из current на 15.0, slackpkg+

Можно ли что то прописать в slackpkg+, что бы ядро ставилось из current, а все остальные пакеты так же из 15.0? Столкнусь ли я с какими то проблемами? Использую драйвер NVIDIA, но с офф.сайта, и собираю сам.

 

MOPKOBKA
()

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

Решил протестировать готовность 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 создать файл, и тут же ему назначить имя?

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

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

 

MOPKOBKA
()

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

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

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

 ,

MOPKOBKA
()

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

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

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

 

MOPKOBKA
()

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

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

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

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
()

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

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

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

 

MOPKOBKA
()

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

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

#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

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

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

Подробности

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

 ,

MOPKOBKA
()

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