LINUX.ORG.RU

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

Перенос флатпак на другой раздел

Форум — General

Добрый день. Подскажите, пожалуйста, такую вещь. У меня установлен Линукс Минт и по-умолчанию пакеты флатпак ставятся на раздел ~/.var/app (сами приложения) + основная масса летит в раздел /var/lib/flatpak/runtime и /var/lib/flatpak/app в корне и занимает там порядка 11Гб. Раздел я создавал небольшой под систему и отсюда вопрос: можно ли переместить или установку флатпаковского барахла целиком куда-нибудь в /home/user/ (отдельно смонтирован), или раздел /var на другой диск? Я достаточно нубас в системе, поэтому «для чайников», если можно)

 ,

Krapkert
()

Насчет пайки, электрики, инженерии

Форум — Talks

Доброго вечера суток! Товарищи, у меня такой возможно не очень опытный вопрос. Ситуация такая: Недавно появилось большое желание и мотивация начать заниматься электроникой. В плане паять, создавать свои схемы и устройства для компьютера или как они называются точно не знаю, такие как Raspberry Pi 4, Proxmark 3, APImote, E-Mate X итд. Возможно вы меня посчитаете как какого нибудь парня пересмотревшего фильмов, но я очень очень давно хочу этим заняться, но не пойму с чего начать. Итак мои вопросы: С чего мне начать свой путь в этой сфере? Какие книги, курсы можете посоветовать? Какое оборудование надо? Какие языки программирования для этого всего нужны? И что вообще как? Буду до безумия благодарен за точный и серьезный ответ. Спасибо за внимание!

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

 , ,

yyrroo
()

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

Форум — Desktop

За 5 минут не нагуглилось. Нашёл onboard, но это не то. Я набиваю тексты, в которых есть особые значки. Некоторое подмножество юникода. Я хочу, чтобы мне было удобно их набивать. Что это означает?

Это означает, что я нажимаю некую глобальную (в рамках оконного менеджера) горячую кнопку. Ну, скажем, AltGr, и отпускаю её. После этого на экране появляется изображение клавиатуры. Далее я нажимаю и/или удерживаю другую кнопку, допустим, Shift, Ctrl, Caps, F1-F7 и т.п. У меня меняется на клавиатуре раскладка (при удержании одних кнопок и при нажатии других) и сразу отображается. Далее я нажимаю, допустим, на кнопку «а» на своей физической клавиатуре и соответствующий символ вводится туда, где находится текущий текстовый ввод. Далее я нажимаю Esc и клавиатура исчезает, ну или сразу исчезает после ввода одной буквы.

Есть такое? У меня LXDE.

 , расширенная раскладка клавиатуры,

den73
()

IDE на основе VIM для python, perl, c++, bash

Форум — Development

Искал расширение / набор скриптов для VIM чтобы использовать его как IDE для python ( perl, c++, bash, понятно, что для каждого языка будет свой набор ). Их оказалось так много – всех не перепробуешь.

а. какое бы вы посоветовали? В первую очередь интересует питон.

б. как сравнивать, может где-то есть рейтинги, которые я не нашёл?

Всем большое человеческое аригато! Буду приручать неовим с nvchad на малинке.

Для переболевших ковидом:

  1. Ставим неовим apt install neovim

https://github.com/neovim/neovim/wiki/Installing-Neovim

  1. git clone https://github.com/NvChad/NvChad ~/.config/nvim --depth 1 загружаем конфиги nvchad https://nvchad.com/docs/quickstart/install

 , ,

jia
()

Как идиоматичнее написать эту функцию на лиспе

Форум — Development

Продолжаю щупать скобочки, решил попробовать Common Lisp. Написал простенький tcp сервер, сделал на сокетах (usocket). Выглядит страшненько, но не знаю как написать «правильнее», поэтому решил поинтересоваться у гуру:

(defun create-server (port)
  (let ((socket (usocket:socket-listen "127.0.0.1" port :reuse-address t)))
    (unwind-protect
         (loop
           (let ((connection (usocket:socket-accept socket :element-type 'character)))
             (progn
               (usocket:wait-for-input connection :timeout 10)
               (let ((input-data (read-line (usocket:socket-stream connection))))
                 (when (eq input-data nil) (return))
                 (format t "Server input is: ~a~%"  input-data))
               (format (usocket:socket-stream connection) "Pong~%")
               (force-output (usocket:socket-stream connection))
               (usocket:socket-close connection))))
      (progn
        (format t "Closing socket.~%")
        (usocket:socket-close socket)))))

Первое, что мне кажется не очень правильным это три вложенных let. Вроде поправил на:

(defun create-server (port)
  (let ((socket (usocket:socket-listen "127.0.0.1" port :reuse-address t)))
    (unwind-protect
         (loop
           (let* ((connection (usocket:socket-accept socket :element-type 'character))
                  (stream (usocket:socket-stream connection))
                  (input-data (read-line stream nil)))
             (progn
               (usocket:wait-for-input connection :timeout 10)
               (when (eq input-data :eof) (return))
               (format t "Server input is: ~a~%" input-data)
               (format stream "Pong~%")
               (force-output stream)
               (usocket:socket-close connection))))
      (progn
        (format t "Closing socket.~%")
        (usocket:socket-close socket)))))

Но теперь задержка между отправкой с клиента «Ping» и получением «Pong» стала заметна, возможно проблема в том, что я делаю что-то неправильное с stream и читаю/пишу туда раньше времени. Код клиента

(defun create-client (port)
  (let* ((socket (usocket:socket-connect "127.0.0.1" port)))
    (unwind-protect
         (progn
           (format (usocket:socket-stream socket) "Ping~%") 
           (force-output (usocket:socket-stream socket))
           (usocket:wait-for-input socket :timeout 10)
           (format t "Input is: ~a~%" (read-line (usocket:socket-stream socket))))
      (usocket:socket-close socket))))

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

Reading from a stream which has been closed at the remote end signals an END-OF-FILE condition, meaning that reading from the stream and detecting that condition is the way to do it.

Понимаю только то, что проблема, где-то тут: (when (eq input-data :eof) (return)) – или опять же таки где в моей работе со стримами.

Почему не использую usocket:socket-server? Отвечаю: я так понял, что туда нельзя передать сокет, чтобы ответить что-то клиенту, а же хочу не только читать что мне прислали.

Помогите маленькому лисперу понять что не так. Знаю, что @monk хорошо разбирается в лиспах, из недавнего треда выяснил, что @lovesan в них тоже много понимает и @den73 тоже.

 ,

snake266
()

Копирование на флешку тормозит в одном месте.

Форум — General

Добрый день. Fedora 38 Gnome. При копировании на флешку разных файлов, навжно что, тормозит в одном месте примерно на 20%. 1 день на линуксе, флешка рабочая. Сделал восстановление файловой системы и форматировал не помогло.

 ,

kazierweb
()

Как живут после изменений с VPN?

Форум — Admin

Недавно столкнулся с проблемой блокировки провайдером VPN.
Решил. Надолго? Надёжно? Не знаю, пока работает.

Сразу возникли вопросы по ПО: как теперь с лицухами?
Те же IDE? Там для любого чиха надо на сервера компании за обновлением инструментария.

Раньше как - «мы не работаем с Россией», хоба! И мы стали индусами или европейцами. Теперь вроде стать индусом непросто.

Как вы выходите из положения? Или пока не аукнулось?

Тут ещё есть интересные ссылки:
https://vc.ru/legal/865273
https://vc.ru/services/864522

 , , , ,

Neuromagus
()

Laptop win + linux (без бюджета)

Форум — Linux-hardware

Привет лор. Всю жизнь сидел на винде, угораздило 5 лет назад пересесть на маки. Сейчас MacBook pro 16, больше не хочу Макос и мак - бесит буквально все кроме того что классно фильмы и в инете полазить. Собираюсь юзать связку win + linux. Вопрос по выбору ноута. В игры не играю, нужно запускать IDE, виртуалки, AI/ML чуть-чуть (поэтому видеокарта дискретная нужна). Комп берется как единственный дом-работа-поездки. Бюджет условно любой до 3000-4000$. Что бы вы посоветовали? Смотрю на Lenovo X1, Dell XPS, Asus Rog.

 

tovarishto
()

Как ввести пароль sudo в vi/vim не выходя из него

Форум — Admin

Простите, может я мало искал, но как ввести пароль sudo в vi/vim не выходя из него.

Раздражает когда забываешь писать sudo и после больших изменений нельзя сохранять результат. Приходится копировать изменения в другой файл…

 , , ,

SaintAnd
()

Жизнь с ноутбуком, на котором жизни быть не должно

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

Добрый вечер, ЛОРчане. Первый раз делюсь чем-то подобным. Встречайте - рабочее место основанное на MacBook Air с M2. На фоне можно видеть iMac 5K 2017 на 27" (базовая версия + потом докидывал до 64 гБ ОЗУ), однако сейчас он у меня не в почёте, ибо слабоват относительно ноута (всего-то 5 лет прошло). Видал аймак всякое за свою жизнь (гентушечку с 10 тБ свопа по юзб например :) ), но сейчас не об этом.

Это мой второй макбук на чипе от Apple, первый был залит ряженкой (кривые руки) и сейчас работает в качестве сервера (в линукс перезагрузить возможности нет (залипание клавиш), приходится выживать под макосью). Пользовался Asahi в качестве второй системы ещё до альфа релиза, так что уже «подружился» с линуксом на арме.

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

По рабочему месту:

  • ЦАП - FiiO K5 Pro ESS
  • Наушники - Beyerdynamic DT 990 Pro (на 250 Ом)
  • Колонки - стереопара HomePod mini (слева от Марисы один из них)
  • Фумо: Мариса, Койши и Сырно
  • Мышь: MX Anywhere 3 (абсолютно не пользуюсь, если надо поуправлять аймаком - можно использовать клаву+трекпад от макбука по беспроводу)

>>> Просмотр (3657x5120, 3216 Kb)

 , , , ,

ivabus
()

Странное, движки СУБД

Форум — Development

Добрый день камрады. Недавно задумался о странном. Предположим - есть цель написать СУБД. И хочется чтобы она работала везде. В том числе на андроид. На чем такое писать? Pure C? C++? Java? Golang?

 , ,

small-entropy
()

Qiyida X99-H9 v2.0 в комплекте с Intel Xeon E5 2630 v3: я приобрел 2630L v3, а теперь одумался и хочу 2630L v4

Форум — Linux-hardware

Попалась мать в комплекте с 2630 v3.
Встанет ли на эту мать 2630L v4? :-)
И есть ли смысл в переплате? L v3 я приобрел за 850 рублей, а L v4 стоит уже 4.500.

Еще вопрос: если я установлю Debian с обычной не-ECC памятью, а позже заменю ее на ECC, будет ли система дальше продолжать работать, или нужно будет сделать переустановку или что-то поменять?

 , , ,

SerW
()

Пропадают процессы, не закончившись

Форум — Admin

Дано:

система ubuntu-20.04

железо: AMD FX(tm)-6300 Six-Core Processor,
M5A78L-M LE/USB3(bios - v5.02)

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

вот, что показывает top:

Tasks: 239 total,   6 running, 233 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0,0 us,  0,6 sy, 82,9 ni, 16,5 id,  0,1 wa,  0,0 hi,  0,0 si,  0,0 st
MiB Mem :   7680,0 total,    362,2 free,   5360,9 used,   1956,9 buff/cache
MiB Swap:   8192,0 total,   7838,0 free,    354,0 used.   1999,8 avail Mem 

    PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND  
   3928 xxx       30  10 1099912 363192  22576 R 100,0   4,6   1164:37 root.exe 
   3923 xxx       30  10 1662268 404528   3640 R  99,7   5,1   1163:23 root.exe 
   3924 xxx       30  10 1636572 458604   6800 R  99,7   5,8   1164:09 root.exe 
   3927 xxx       30  10 1138156 375096   3628 R  99,7   4,8   1163:01 root.exe 
   3925 xxx       30  10   14,2g   3,3g   6672 R  94,4  43,6   1163:07 root.exe 

после 10ти часов счета отвалилась одна задача, как будто, ее убили kill’ом, и что-то стало происходить с распределением памяти для оставшихся процессов. Причем, подобное на этом компьютере случается не в первый раз.

На 3х других компах (2 Ryzen и AMD Phenom(tm) II X4) с абсолютно той же ОС такие фортели не наблюдаются задачи досчитываются с одинаковыми ресурсами используемой памяти до конца. Например, на AMD Phenom(tm):

 top - 11:25:18 up 20:07,  1 user,  load average: 4,03, 4,03, 4,00
Tasks: 209 total,   5 running, 204 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0,2 us,  1,2 sy, 98,5 ni,  0,0 id,  0,0 wa,  0,0 hi,  0,2 si,  0,0 st
MiB Mem :   7937,5 total,    924,3 free,   2208,4 used,   4804,8 buff/cache
MiB Swap:   8192,0 total,   8192,0 free,      0,0 used.   5428,3 avail Mem 

    PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND  
   3470 xxx       30  10  890304 399592  16428 R  99,7   4,9   1172:04 root.exe 
   3473 xxx       30  10  890600 393624  16664 R  99,7   4,8   1172:24 root.exe 
   3471 xxx       30  10  898620 436972  14196 R  98,7   5,4   1173:05 root.exe 
   3472 xxx       30  10  890064 393388  16756 R  98,3   4,8   1172:41 root.exe 

Вопрос: это железо или софт?

P.S.dmesg кроме warning о ACPI (на который иностранный народ советует забить, если присутствуют lm-sensors, а они есть

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

 , ,

valentin630
()

Какая БД подходит под частые выборки IP

Форум — Development

Приветствую друзья! Подскажите, правильно ли мыслю в сторону NoSQL redis в следующей ситуации.

Есть база на mysql IP диапазона адресов:

A____________B________________BLOCK___

192.168.1.0___192.168.1.255___1_______

100.100.5.0___100.100.255.0___0_______

Некоторые диапазоны А-В сгруппированы по 3 и 4 октету и содержат более 255 адресов. Такой подход дал экономию в размере базы, но существенно увеличил время запроса.

Select выбирает ip в диапазоне от A до B. Столкнулись с тем, что частые выборки (в пике 15 запросов в секунду) тормозят сервер.

Начали присматриваться в сторону NoSQL redis без группировки адресов, планируется увеличить базу по объему, но значительно повысить скорость выборки.

Обновления в базе происходят регулярно, до 1000 update, delete в сутки.

Правильный ли подход в планировании задачи и поможет ли redis в увеличении количества select в данной ситуации?

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

 ,

morkovkin
()

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

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

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

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

 

PPP328
()

Emacs в качестве GUI для GDB, или небинарная совместимость

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

Всем здравствуйте.

На снимке – эксперименты, являющиеся продолжением вот этой темы.

Как уже не в первый раз убеждаюсь, утилита strace с ключом -k (печатать stack trace каждого вызова) – прекрасный инструмент для первичного (грубого) поиска проблемы. Собственно, именно таким способом было выяснено, что на Debian 9 и Debian 10+ поведение java начинает различаться, начиная с инструкции <open64_w+22> из libhpi.so. В результате последовательность

b main
r
b open64_w
cont

позволяет вплотную подобраться к проблеме, но уже пер-ректально «изнутри».

На снимке – сравнение консольного интерфейса GDB (слева) и Emacs (справа). Если честно, Emacs’ом для отладки пользовался в первый раз в жизни – и он мне понравился. Понравился даже больше, чем старик DDD, который умные люди используют для полноценной визуализации данных в памяти, но вот мне самому как-то не доводилось.

В чём ценность cgdb как обёртки над gdb, особенно в отсутствие исходного кода, – я так и не понял. Если у вас есть успешный успех опыт использования cgdb – поделитесь, пожалуйста. Аналогично, xxgdb, наверное, хорош – но для того, чтобы он завёлся в 2023 году, мне надо выкинуть из ~/.gdbinit буквально всё.

За каким рожном нужен убогий и деревянный как Буратино Nemiver, по недосмотру появившийся в пакетах Debian и заявляющий в качестве ключевых особенностей совместимость с GNOME 3 и умение скопировать значение переменной в буфер обмена (я не шучу: «Ability to copy the content of a variable into the GTK clipboard») – я тоже не понял. Зачем, если есть прекрасный Emacs?

В сухом остатке: насколько я понял, ebp + 0x8, ebp + 0xc и ebp + 0x10 – это адреса параметров функции. По первому адресу лежит строка, и строка эта на Debian 9 и Debian 10 разная:

  • /usr/lib/jvm/java-1.3.1_20-sun-i386/jre/lib/rt.jar (нормальное поведение, слева) и
  • /usr/lib/jvm/java-1.3.1_20-sun-i386/jre (аномальное, справа).

Стало быть, ерунда начинается ещё до системного вызова open()/openat() и происходит в одном из пяти вызовов:

  1. sysOpen(...)
  2. JVM_Open(...)
  3. ZIP_Open_Generic(...)
  4. ZIP_Open(...)
  5. ClassLoader::setup_bootstrap_search_path(void)

Будем копать дальше.

>>> Просмотр (3840x2160, 853 Kb)

 cgdb, , , ,

Bass
()

Нищий квадрозвук

Форум — Desktop

Вы привыкли что при втыкании наушников динамики отключаются? Сейчас отвыкать будем. Втыкаем наушники, запускаем hdajackretask, переназначаем наушники на тыловые каналы. Звуковое устройство меняется на 4.0, можно воспроизводить многоканал. Наушники на шее, динамики впереди, так и слушаем. Доброго вам слуха

 ,

DumLemming
()

gtk2 сам себя не форкнет

Форум — Development

Что ж, этот день настал. Будем делать gtk 2.26.

Минимальный план работ такой:

  • Обеспечить масштабирование заданных в настройках тулкита размеров иконок в соответствии с DPI.
  • Обеспечить масштабирование заданных темой пиксельных размеров в соответствии с DPI.
  • Предоставить для приложения API для масштабирования размеров из условных пикселей (под 96 DPI) в реальные в соответствии с DPI.
  • Исправить мелкие косяки в теме Redmond, которые остались с тех пор, как отрисовка темы была переведена на cairo.
  • Дополнить дефолтный пакет тем стилями для gtk3, максимально приближенно имитирующими классические темы.
  • Бэкпортировать из gtk3 некоторые улучшения в диалогах открытия/сохранения файлов.

Приглашаются все желающие. Пишите ваши соображения.

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

P.S. @hobbit, верни тэг gtk2 в БД сайта!!!

 , , ,

wandrien
()

Пример архитектуры GUI-приложения

Форум — Development

Привет.

Есть ли у кого пример/дока/статья на тему архитектуры десктопных GUI-приложений? Желательно с использованием Java и Swing/JavaFX тулкитов, но не обязательно, подойдут и другие стеки.

Интересует такой идиоматический пример как делать НОРМ.

Есть MVC, MVVM, MVP и т.д., т.п. Но... Их можно приготовить с разной степенью говености. А меня интересует хороший пример. Есть у кого-нибудь подобное на примете?

 , , , ,

djnoob
()

Нарушил структуру разделов на диске

Форум — General

Не спрашивайте зачем, но было вот так

Было:

Диск /dev/sdc1: 596,17 GiB, 640132383744 байт, 1250258562 секторов
Единицы: секторов по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер I/O (минимальный/оптимальный): 512 байт / 512 байт
Тип метки диска: dos
Идентификатор диска: 0x2052474d

Устр-во     Загрузочный     начало      Конец    Секторы Размер Идентификатор Тип
/dev/sdc1p1                6579571 1924427647 1917848077 914,5G            70 DiskSecure Multi-Boot
/dev/sdc1p2             1953251627 3771827541 1818575915 867,2G            43 неизвестный
/dev/sdc1p3              225735265  225735274         10     5K            72 неизвестный
/dev/sdc1p4             2642411520 2642463409      51890  25,3M             0 Пустой

Элементы таблицы разделов упорядочены не так, как на диске.
# sudo fdisk /dev/sdc1

Добро пожаловать в fdisk (util-linux 2.36.1).
Изменения останутся только в памяти до тех пор, пока вы не решите записать их.
Будьте внимательны, используя команду write.

The device contains 'ntfs' signature and it will be removed by a write command. See fdisk(8) man page and --wipe option for more details.

Устройство не содержит стандартной таблицы разделов.
Создана новая метка DOS с идентификатором 0x34d946a3.

Команда (m для справки): x

Команды эксперта (m для справки): f
Nothing to do. Ordering is correct already.
Failed to fix partitions order.

Команды эксперта (m для справки): r

Команда (m для справки): w

Таблица разделов была изменена.
Синхронизируются диски.```





Стало вот так:

```# fdisk -l /dev/sdc1
Диск /dev/sdc1: 596,17 GiB, 640132383744 байт, 1250258562 секторов
Единицы: секторов по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер I/O (минимальный/оптимальный): 512 байт / 512 байт
Тип метки диска: dos
Идентификатор диска: 0x34d946a3

# fdisk -l
Устр-во    Загрузочный начало      Конец    Секторы Размер Идентификатор Тип
/dev/sdc1                  63 1250258624 1250258562 596,2G             7 HPFS/NTFS/exFAT
Диск /dev/sdc: 596,17 GiB, 640135028736 байт, 1250263728 секторов
Disk model: Transcend       
Единицы: секторов по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер I/O (минимальный/оптимальный): 512 байт / 512 байт
Тип метки диска: dos
Идентификатор диска: 0x0c160c52

Устр-во    Загрузочный начало      Конец    Секторы Размер Идентификатор Тип
/dev/sdc1                  63 1250258624 1250258562 596,2G ```            7 HPFS/NTFS/exFAT


Как получить доступ к данным на диске? Ничего пока не форматировал, но доступ к данным потерял

 

ssmirnoff
()