LINUX.ORG.RU

Сообщения Shushundr

 

Как синхронизировать файловые потоки?

Форум — Development

Можно ли в Linux узнать, в какой момент сообщение было записано в файловый поток? Одна программа пишет в два разных потока, другая программа читает из этих двух потоков и должна вывести сообщения в порядке записи (а не в том, каком там накешировалось).

Вот первая программа:

$ clang-format main2.c
#include <stdio.h>

int main() {
  setbuf(stdout, NULL); // Отключение буферизации stdout
  setbuf(stderr, NULL); // Отключение буферизации stderr

  printf("Это stdout\n");
  fflush(stdout);
  fprintf(stderr, "Это stderr\n");
  fflush(stderr);
  fprintf(stderr, "Это stderr2\n");
  fflush(stderr);

  printf("Это stdout 2\n");
  fflush(stdout);
  fprintf(stderr, "Это stderr3\n");
  fflush(stderr);

  printf("Это stdout 3\n");
  fflush(stdout);
  printf("Это stdout 4\n");
  fflush(stdout);

  return 0;
}

Вот вторая программа:

$ clang-format main1.c
#include <errno.h>
#include <poll.h> // Для структуры pollfd и константы POLLIN
#include <pty.h>
#include <stdbool.h>
#include <stdio.h>
#include <sys/select.h>
#include <sys/types.h>
#include <unistd.h>

#include <time.h> // Для функции nanosleep
int nanosleep(const struct timespec *req, struct timespec *rem);

int max(int a, int b) { return (a > b) ? a : b; }

int main() {
  int master_fd_stdin, slave_fd_stdin;
  int master_fd_stdout, slave_fd_stdout;
  int master_fd_stderr, slave_fd_stderr;

  openpty(&master_fd_stdin, &slave_fd_stdin, NULL, NULL, NULL);
  openpty(&master_fd_stdout, &slave_fd_stdout, NULL, NULL, NULL);
  openpty(&master_fd_stderr, &slave_fd_stderr, NULL, NULL, NULL);

  pid_t pid = fork();
  if (pid == 0) {
    // В дочернем процессе
    close(master_fd_stdin);
    close(master_fd_stdout);
    close(master_fd_stderr);

    dup2(slave_fd_stdin, 0);
    dup2(slave_fd_stdout, 1);
    dup2(slave_fd_stderr, 2);

    close(slave_fd_stdin);
    close(slave_fd_stdout);
    close(slave_fd_stderr);

    execl("./main2", "main2", NULL);
  } else {
    // В родительском процессе
    close(slave_fd_stdin);
    close(slave_fd_stdout);
    close(slave_fd_stderr);

    char buffer[1024];
    ssize_t bytes_read;
    bool is_stdout_expected = true;
    bool is_stderr_expected = true;

    fd_set read_fds;
    int max_fd = max(master_fd_stdout, master_fd_stderr);

    struct pollfd fds[2];
    fds[0].fd = master_fd_stdout;
    fds[0].events = POLLIN;
    fds[1].fd = master_fd_stderr;
    fds[1].events = POLLIN;

    while (is_stderr_expected || is_stdout_expected) {
      FD_ZERO(&read_fds);
      if (is_stdout_expected) {
        FD_SET(master_fd_stdout, &read_fds);
      }
      if (is_stderr_expected) {
        FD_SET(master_fd_stderr, &read_fds);
      }

      select(max_fd + 1, &read_fds, NULL, NULL, NULL);

      if (FD_ISSET(master_fd_stdout, &read_fds)) {
        bytes_read = read(master_fd_stdout, buffer, 1024);
        if (bytes_read > 0) {
          buffer[bytes_read] = '\0'; // Добавляем нулевой символ в конец строки
          printf("\033[0;37m%s\033[0m", buffer);
        } else {
          is_stdout_expected = false;
        }
      }

      if (FD_ISSET(master_fd_stderr, &read_fds)) {
        bytes_read = read(master_fd_stderr, buffer, 1024);
        if (bytes_read > 0) {
          buffer[bytes_read] = '\0'; // Добавляем нулевой символ в конец строки
          printf("\033[0;31m%s\033[0m", buffer);
        } else {
          is_stderr_expected = false;
        }
      }
    }
  }

  return 0;
}

При выводе строки выводятся в неправильном порядке. Как сделать, чтобы выводились в правильном?

Пока у меня мысль такая:

  1. нужно сделать библиотеку, которая содержит функции printf, fprintf и что там ещё бывает. Делать она ничего не должна, должна загрузить системную и все вызовы туда пересылать, кроме особоинтересных.
  2. загрузить эту библиотеку в дочерний процесс вместо системной
  3. каждый факт вывода оборачивать в «пакет», к которому добавлять момент времени (и номер процесса/нити?).

 

Shushundr
()

В чём разница между консолью и терминалом?

Форум — Talks

Можно ли сказать, что консоль - физическая, а терминал - программная компонента?

Так вроде нельзя, вон, википедия пишет, что консоль это интерфейс («Linux-консоль — интерфейс ядра Linux»), т.е. абстрактное понятие. Ещё в википедии написано: «Консоль может быть реализована как физический терминал». Так кто из них физический?

Значит мы имеем дело с многозначными терминами. Где-бы были выписаны их разные значения, не как в википедии, а конкретно для линукса?

«виртуальные консоли — сеансы работы с консолью, между которыми можно переключаться»

a /dev/pts dir with devpts filesystem mounted
CONFIG_UNIX98_PTYS=y «pseudo terminal (PTY) is a software device consisting of two halves: a master and a slave.»

Вот эти виртуальные консоли и псевдотерминалы - это одно и то же, или разные понятия?

Как называется книжка, где это всё разобрано? man vcs

Ранее по теме:
2019-01-15, TesterTester, Может кто то простыми словами объяснить разницу между консолью и терминалом
2004-03-18, anonymous, в чем разница между «консолью» и «буквенно-цифровым терминалом»

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

 ,

Shushundr
()

Что нужно знать про монтаж?

Форум — Talks

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

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

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

Сваривать ничего тоже не хотелось бы.

Электрики - тоже отдельные люди.

Может какие-то нормы и правила монтажных работ?

Или вот, «технология монтажа» - что бы это такое могло быть?

 , ,

Shushundr
()

Текст с формулами (не почтовик, нет)

Форум — Talks

Я бы хотел такую помесь LaTeX с Libre Office Calc, которая с одной стороны бы выглядела как текст, а с другой стороны, проводила бы вычисления вытягивая данные из СУБД как Excel.

Двадцать лет назад уже была такая идея - Таблицы+LaTex
хочу узнать, как идут дела.

 

Shushundr
()

Как устроена печать в ГНУ/Линуксе?

Форум — General

Суть проблемы такова: если я устанавливаю пакет samba на OpenWRT то получившийся образ по размеру просто не влезает в раутер.

размер пакета cups = 10 315 433
а там (на раутере) всего 7 с небольшим мегабайт места.

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

У меня есть принтер. Сейчас он воткнут в комп. Компов больше одного, все на линуксах. Хочется печатать с любого компа, независимо от того, какие из компов включены, а какие выключены из электрической сети. Сейчас приходится держать включённым тот, к которому подключен принтер. А я хочу принтер отключить от компьютера, через USB подключить к раутеру и начать экономить электроэнергию.

 , ,

Shushundr
()

Netgear WNR3500L v1 - не видит USB-флешку

Форум — Linux-hardware

Собираю на сайте
https://firmware-selector.openwrt.org/?version=23.05.4&target=bcm47xx%2Fmips74k&id=netgear_wnr3500l-v1-na
модули такие:
base-files busybox ca-bundle dnsmasq dropbear firewall4 fstools kmod-b43 kmod-gpio-button-hotplug kmod-leds-gpio kmod-nft-offload kmod-usb-ohci kmod-usb2 libc libgcc libustream-mbedtls logd luci mtd netifd nftables nvram odhcp6c odhcpd-ipv6only opkg otrx ppp ppp-mod-pppoe procd procd-seccomp procd-ujail swconfig uci uclient-fetch urandom-seed urngd wpad-basic-mbedtls luci-app-ksmbd block-mount

Чего-то нехватает, и флешку не видно в dmesg, как /dev/sd*, в lsusb, в общем, нигде.

UPD: дополнительно ещё поставил

usb-modeswitch	2022-02-24-3c8595a4-1	~12.67 KiB	USB mode switching utility	
usbids	0.379-1	~249.19 KiB	USB ID list	
usbutils	014-1	~51.07 KiB	USB devices listing utilities	
ccid	1.5.1-1	~41.94 KiB	Generic USB CCID (Chip/Smart Card Interface Devices) driver and ICCD…	
kmod-usb-bcma	5.15.162-1	~3.29 KiB	Support for BCMA USB controllers	
kmod-usb-core	5.15.162-1	~91.33 KiB	Kernel support for USB	
kmod-usb-ehci	5.15.162-1	~24.90 KiB	EHCI controller support	
kmod-usb-ohci	5.15.162-1	~20.33 KiB	Kernel support for USB OHCI controllers	
kmod-usb-ssb	5.15.162-1	~837 B	Support for SSB USB controllers	
kmod-usb-storage	5.15.162-1	~24.52 KiB	Kernel support for USB Mass Storage devices	
kmod-usb-storage-extras	5.15.162-1	~32.92 KiB	Say Y here if you want to have some more drivers,…	
kmod-usb-storage-uas	5.15.162-1	~9.77 KiB	Say Y here if you want to include support for…	
kmod-usb2	5.15.162-1	~6.10 KiB	Kernel support for USB2 (EHCI) controllers	
kmod-usb2-pci	5.15.162-1	~3.63 KiB	Kernel support for PCI USB2 (EHCI) controllers	
libusb-1.0-0	1.0.26-3	~28.65 KiB	libusb is a C library that gives applications easy access to USB devices on…

но нет, ничего не поменялось (и перезагружал тоже).

root@OpenWrt:~# lsusb -t
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ohci-platform/2p, 12M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-platform/2p, 480M

флешки не видно, только контроллеры.

 ,

Shushundr
()

Как расшарить интернет?

Форум — Admin

У меня есть:

  1. роутер с выходом в интернет, у него есть IPv4-интернет-адрес (неважно какой), у него есть адрес интерфейса LAN (пусть 192.168.0.1).
  2. к нему интерфейсом enp5s0 подключен (через провод) комп с адресом 192.168.0.2/24
  3. на этом же компе есть другой интерфейс enp6s0 с адресом 192.168.1.2/24
  4. и есть последний, самый дальний комп с адресом 192.168.1.1/24, который (проводом) соединен с компьютером из пункта 3.

На компьютере из пунктов 2-3 я включил # sysctl
net.ipv4.ip_forward = 1

На дальнем компьютере из пункта 4 я настроил default route через средний комп

маршруты на дальнем компе выглядят так:

default via 192.168.1.2 dev br-lan 
192.168.1.0/24 dev br-lan scope link  src 192.168.1.1

маршруты на среднем компе выглядят так:

# ip route show
default via 192.168.0.1 dev enp5s0 
192.168.0.0/24 dev enp5s0 metric 2
192.168.1.0/24 dev enp6s0 metric 2

на роутере тоже на всякий случай статический маршрут добавил (там web-интерфейс):

192.168.1.0/24 -> 192.168.0.2, Metric 2

Мне кажется, что пакеты должны ходить просто так (без всяких дополнительных маскарадов на среднем компьютере). Но не ходят.

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

Почему?

UPD: у меня была мысль повысить метрику default route на роутере, но я не знаю как это сделать, там в web-интерфейсе такого нет.

 

Shushundr
()

Как в Java использовать Rune-ы?

Форум — Desktop

Ну то есть, четырёхбайтовые Unicode codepoint-ы?

Надо брать java –version >= 18, потому что
https://openjdk.org/jeps/400

А дальше как?

as of Java 7 you can use constants for charset name such as StandardCharSets.UTF_8

«В Java, класс IntStream представляет поток целых чисел, и каждый элемент в этом потоке занимает 4 байта, поскольку int в Java является 32-битным целым числом, независимо от платформы, включая Intel64.»

IntStream combinedStream = IntStream.concat(stream1, stream2);

Как зачитать IntStream из stdin? записать в stdout?

since Java 8, public IntStream String.codePoints() (inherited from CharSequence) and int String.codePointCount(). Такое преобразование выглядит странным, излишним: stream.mapToObj(codepoint -> String.valueOf(Character.toChars(codepoint))) .forEach(System.out::println); в нём сначала происходит конвертация в кодировку UCS-16, а затем в UTF-8, а хотелось бы сразу напрямую. Нужно обойтись без использования класса String вообще.

Вручную - многобукв:

stream.forEach(codepoint -> {
    if (codepoint < 0x80) {
        System.out.write(codepoint);
    } else if (codepoint < 0x800) {
        System.out.write(0xC0 | (codepoint >> 6));
        System.out.write(0x80 | (codepoint & 0x3F));
    } else if (codepoint < 0x10000) {
        System.out.write(0xE0 | (codepoint >> 12));
        System.out.write(0x80 | ((codepoint >> 6) & 0x3F));
        System.out.write(0x80 | (codepoint & 0x3F));
    } else {
        System.out.write(0xF0 | (codepoint >> 18));
        System.out.write(0x80 | ((codepoint >> 12) & 0x3F));
        System.out.write(0x80 | ((codepoint >> 6) & 0x3F));
        System.out.write(0x80 | (codepoint & 0x3F));
    }
});

UPD: или может быть какая-нибудь есть библиотека, в которой символы 3-х байтовые и весь рантайм под такие API переделан?

типа com.google.protobuf.ByteString

Вот посмотрите, как лапочка Дональд Кнут. У него текст состоит из страниц, на страницах расположены строки, строки состоят из боксов. Логично же текстовый документ точно так же читать - чтение текста, это некоторая последовательность обхода этих строк и боксов в каждой строке. Если надо прочитать что-то специальное (математическую формулу), то там другие правила чтения, дерево боксов, но и формулу тоже можно прочитать, просто на другом уровне. Вот почему файловые API так же не устроены? Где в Java классы TextFileReader, TextLineReader, TextBoxReader? Последний можно было бы параметризовать каким-нибудь типом, который описывает, что такое «символ». То-ли LaTeX парсит, толи Unicode GraphemeCluster-ы собирает из Unicode Codepoint, это уже мелкие детали, а наше дело - крупные.

 ,

Shushundr
()

Как математически описывают «потоки»?

Форум — Talks

Раньше были «ленты» (в 1936-м году, у Тьюринга и у Поста). Ленты можно было читать в любом направлении, перемещаться и туда, и обратно, и куда-попало. А потоки не такие, потоки надо вычитывать последовательно и они могут заканчиваться (а ленты по определению были бесконечные).

Так вот, как математики эти новомодные потоки описывают, когда доказывают корректность программ?

UPD: сайт заменил тэг «потоки» на multithreading. А я хотел streams

 ,

Shushundr
()

Что должна уметь делать консольная утилита?

Форум — Desktop

Чтобы быть удобной пользователю?

  1. во-первых, она может разбирать командную строку и получать из неё имена входных и выходных файлов, а если их там нет, то использовать stdin и stdout.

  2. во-вторых, она должна иметь ключ --help или как-то так (кстати, в каких гайдлайнах это написано?)

  3. в-третьих, она может писать в stderr цветным (красным) текстом, отключать вывод цвета при перенаправлении в пайп, и иметь ключ командной строки для того, чтобы цвет не отключать.

  4. возвращать разные коды возвратов при ошибках (есть ли какие-то стандарты? кроме «меньше нуля»)

  5. утилита может уметь разбирать из командной строки команды с параметрами (по аналогии с git)

  6. понимать локаль и выводить сообщения на языке пользователя.

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

что ещё?

 ,

Shushundr
()

{безумная} Идея по лицензированию контента форума

Форум — Linux-org-ru

Форум условно говоря состоит из:

  1. HTML-кода/шаблонов страниц;
  2. программного кода JavaScript;
  3. пользовательского контента.

Пользовательский контент можно не выдавать сразу, а затягивать в HTML при помощи JavaScript позднее (для того, чтобы у каждого фрагмента пользовательского текста был свой отдельный URL)

Дальше, в URL-ы можно добавить кусок пути, который будет указывать лицензию, например:

CC_BY-ND: Creative Commons Attribution-NoDerivs – можно использовать произведение только в исходном виде, без изменений, с указанием авторства.

CC_BY-NC-SA: Creative Commons Attribution-NonCommercial-ShareAlike – только некоммерческое использование и указание авторства

CC_BY-SA: Creative Commons Attribution-ShareAlike – можно распространять произведение и адаптировать его, в том числе для коммерческих целей, с указанием авторства и публикацией производной работы под той же лицензией.

CC_BY-NC: Creative Commons Attribution-NonCommercial – требуется только некоммерческое использование и указание авторства.

CC_BY: Creative Commons Attribution – можно копировать, распространять и адаптировать материал, в том числе для коммерческих целей, с обязательным указанием авторства.

В профиле пользователя можно указать, какие права по-умолчанию, при написании можно добавить возможность для куска текста права переопределить (например если это фрагмент кода, то грузить его с отдельного URL).

Без JavaScript работать это не будет и индексироваться будет хуже, но на этот случай есть вариант включить этот же текст в секцию NoScript для старых браузеров. Т.е. если JavaScript отключен, то всё показывается из изначально загруженной страницы, а если включен то со спец-урлов. Когда сервер определится, поддерживается ли JavaScript в сессии, перестанет дублировать контент.

Вставлять можно или через iFrame (чтобы URL был записан в странице) или через изменение DOM java-скриптом (тогда URL будет записан как параметр вызова функции скрипта)

Таким образом на одном сайте сможет отображаться контент с разными лицензиями по желанию каждого пользователя и все лицензии будут указаны для каждого фрагмента.

 

Shushundr
()

Что такое Twonky Media Server ?

Форум — Multimedia

Как это установить в Gentoo? (пакет не нашел)

можно ли это чем-то заменить?

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

Для воспроизведения музыкальных файлов посредством сети необходим сервер или программное обеспечение сервера, совместимые с распределением данных соответствующего формата. Для воспроизведения упомянутых аудиоформатов через сеть необходимо установить на компьютер или NAS серверное программное обеспечение, например Twonky Media Server или jRiver Media Server, для обеспечения полной поддержки. Имеется также и другое серверное программное обеспечение. Проверьте поддерживаемые форматы.

Второй, я так понимаю, вообще под Windows.

Что (PulseAudio?) и как надо потом настраивать, чтобы оно через этот медиа-сервер работало?

 ,

Shushundr
()

Library Genesis через IPFS

Форум — Desktop

В библиотеке есть книжка, которую не получается скачать,
потому что «Get» не возвращает её,
CloudFlare, ipfs.io и Pinata
сообщают, что

410 Gone

The content that you requested has been blocked because of legal, abuse, malware or security reasons.

и остаётся только последний вариант - localhost:8080.

Что и как надо установить и настроить?

acct-group/ipfs
    Group for the system-wide net-p2p/go-ipfs-bin server
acct-user/ipfs
    User for the system-wide net-p2p/go-ipfs-bin server
net-p2p/kubo
    Main implementation of IPFS

По этому поводу есть страницы:
https://wiki.gentoo.org/wiki/Kubo

# ipfs init
...
initializing IPFS node at /root/.ipfs
# mv /root/.ipfs /var/lib/ipfs/.ipfs
# chown -R ipfs:ipfs /var/lib/ipfs/.ipfs
# systemctl start ipfs.service    
# systemctl enable ipfs.service  
авг 07 12:16:54 lacaille9352 systemd[1]: Started ipfs.service.
авг 07 12:16:54 lacaille9352 ipfs[328312]: Initializing daemon...
авг 07 12:16:54 lacaille9352 ipfs[328312]: Kubo version: 0.26.0
авг 07 12:16:54 lacaille9352 ipfs[328312]: Repo version: 15
авг 07 12:16:54 lacaille9352 ipfs[328312]: System version: amd64/linux
авг 07 12:16:54 lacaille9352 ipfs[328312]: Golang version: go1.20.5
авг 07 12:16:56 lacaille9352 ipfs[328312]: Swarm listening on /ip4/127.0.0.1
...
авг 07 12:16:56 lacaille9352 ipfs[328312]: Swarm announcing /ip4/127.0.0.1
...
авг 07 12:16:56 lacaille9352 ipfs[328312]: RPC API server listening on /ip4/127.0.0.1/tcp/5001
авг 07 12:16:56 lacaille9352 ipfs[328312]: WebUI: http://127.0.0.1:5001/webui
авг 07 12:16:56 lacaille9352 ipfs[328312]: Gateway server listening on /ip4/127.0.0.1/tcp/8080
авг 07 12:16:56 lacaille9352 ipfs[328312]: Daemon is ready

И что дальше?

Жмякаю «local gateway» и всё, ничего не происходит.

 

Shushundr
()

Где книги?

Форум — Linux-org-ru

Есть две строчки в исходниках:

https://github.com/maxcom/lorsource/blob/master/src/main/webapp/.htaccess#L4C20-L4C37

Redirect permanent /info.html http://www.linux.org.ru/books/
Redirect permanent /info-mirror.html http://www.linux.org.ru/books/

я не понимаю, зачем они нужны, если сайт ничего не показывает по адресу http://www.linux.org.ru/books

 ,

Shushundr
()

В чём разница между cachefs и bcachefs?

Форум — Admin

# mount /srv/db/repos
монтируется через fstab
# mount -t tmpfs tmpts /var/db/repos
# mount | grep repos
repos on /srv/db/repos type 9p (rw,relatime,access=client,trans=virtio)
tmpfs on /var/db/repos type tmpfs (rw,relatime,inode64)

https://stackoverflow.com/questions/2193584/copy-folder-recursively-excluding-some-folders

rsync enables a set of options that are commonly used for archiving files, which means preserving as much of the original file’s metadata as possible.

The -a option is equivalent to specifying the following options individually:

-r: recursive, which means rsync will traverse subdirectories
-l: preserve symbolic links
-p: preserve permissions
-t: preserve timestamps
-g: preserve group ownership
-o: preserve owner ownership
-D: preserve device files and special files

By using -a, you’re telling rsync to preserve the file’s metadata, such as permissions, timestamps, and ownership, in addition to copying the file’s contents. This is useful when you want to create an exact replica of the original files, including their metadata.

# time rsync -a --exclude=.git /srv/db/repos/* /var/db/repos/

real 33m8,741s
user 0m18,758s
sys 2m15,623s

# du -b /var/db/repos/gentoo
193974760 /var/db/repos/gentoo

193 Mb = 0.2 Gb

https://en.wikipedia.org/wiki/CacheFS

«CacheFS is a family of software technologies designed to speed up distributed file system file access for networked computers.»

О, у меня как раз сетевая файловая система 9p.

«Project status seems to be stalled»

Ясно

The Linux CacheFS currently is designed to operate on Andrew File System and Network File System (NFS) filesystems.

Жаль, что про 9p тут ничего не говорится.
Не через NFS же теперь подключать?

 ,

Shushundr
()

Dependency resolution took 1011.12 s (backtrack: 20/20).

Форум — Linux-install

1011.12 s это 17 минут Как считаете, это нормально?

Станет ли работать быстрее, если использовать tmpfs и какую-нибудь overlayfs ? Что и как делать детально?

 

Shushundr
()

Не запускаются графические программы

Форум — Desktop

liferea

(net.sourceforge.liferea:3558757): dbind-WARNING **: 17:16:57.225: Couldn't register with accessibility bus: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
libEGL warning: DRI3: failed to query the version
libEGL warning: DRI2: failed to authenticate
libEGL warning: DRI3: failed to query the version
libEGL warning: MESA-LOADER: failed to open zink: /usr/lib64/dri/zink_dri.so: cannot open shared object file: No such file or directory (search paths /usr/lib64/dri, suffix _dri)


(net.sourceforge.liferea:3558757): Gdk-WARNING **: 17:17:22.839: The program 'net.sourceforge.liferea' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadRequest (invalid request code or no such operation)'.
  (Details: serial 158 error_code 1 request_code 155 (unknown) minor_code 1)
  (Note to programmers: normally, X errors are reported asynchronously;
   that is, you will receive the error a while after causing it.
   To debug your program, run it with the GDK_SYNCHRONIZE environment
   variable to change this behavior. You can then get a meaningful
   backtrace from your debugger if you break on the gdk_x_error() function.)

Вот похожая:
https://forums.gentoo.org/viewtopic-t-1167947-start-0.html
надо выполнить действие
«removed x11-drivers/xf86-video-intel and reconfigured X with modesetting DDX»
как это сделать?

 

Shushundr
()

Какой программой просматривать .atom-файлы (RFC 4287)?

Форум — Desktop

https://ru.wikipedia.org/wiki/Atom

мне надо не только с github: https://github.com/gentoo/gentoo/commits/master.atom

но и вообще с разных сайтов.

https://wiki.gentoo.org/wiki/News_feed

$ eix -cC net-news

[N] net-news/alligator (23.04.3): Convergent RSS/Atom feed reader for Plasma
[N] net-news/amphetadesk (~0.93.1-r1): AmphetaDesk is a free syndicated news aggregator
[N] net-news/canto-curses (~0.9.9): The ncurses client for canto-daemon
[N] net-news/canto-daemon (~0.9.8): Daemon part of Canto-NG RSS reader
[N] net-news/liferea (1.14.5-r1): News Aggregator for RDF/RSS/CDF/Atom/Echo feeds
[N] net-news/newsboat (2.28): An RSS/Atom feed reader for text terminals
[N] net-news/rssguard (4.5.0): Simple (yet powerful) news feed reader
[N] net-news/rsstail (2.1_p20200310): A tail-like RSS-reader
[N] net-news/rsstool (1.0.1_rc2): cmdline tool to read, parse, merge, and write RSS (and Atom) feeds
[N] net-news/sfeed (1.8): Simple RSS and Atom parser
[N] net-news/snownews (~1.9-r1): Command-line RSS feed reader
[N] net-news/yydecode (0.2.10-r2): A decoder for yENC format, popular on Usenet
Found 12 matches

 

Shushundr
()

Автоматизированное конспектирование

Форум — Desktop

Чтобы запихнуть в программу .pdf-файл, а на выходе получить короткий текст в несколько страниц, чтобы не читать всё.

Язык, обоих текстов конечно же русский.

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

 

Shushundr
()

Как проект GNU работает с кодами машинных команд?

Форум — Development

В 1993-м году было так:

The GNU assembler provides assembly and disassembly for many targets, but different techniques are applied ad hoc to support different architectures [Elsner et al. 1993]. For example, Pentium instructions are recognized by hand-written C code, but MIPS instructions are recognized by selecting a mask and a sample from a table, applying the mask to the word in question, then comparing the result against the sample. On both targets, operands are recognized by short programs written for abstract machines, but a different abstract machine is used for each target. Another set of abstract machines is used to encode instructions during assembly. The implementations of the abstract machines contain magic numbers and hand-written bit operations. The programs interpreted by the abstract machines are represented as strings, and they appear to have been written by hand.

Что поменялось за 31 год?

 , ,

Shushundr
()

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