LINUX.ORG.RU

Сообщения kawaii_neko

 

Легковесный терминал с вкладками

Форум — Desktop

Пользовался mate-terminal, но с переходом на gtk3 его легковесность стала несколько сомнительной, а также мне лень расковыривать .gtkrc, чтобы получить темные табы при светлой gtk теме.

Обязательно:

  • отсутсвие привязки к DE
  • табы без tmux/screen на локалхосте!
  • полноэкранный режим без строки меню
  • поддержка 256 цветов
  • все основные действия (open/close tab, move tab и т.п.) должны иметь хоткеи, по возможности настраиваемые

Крайне желательно:

  • адекватная работа Shift-F{5..8} в midnight — в mate-terminal у меня S-F3 вызывает copy, S-F4 — move
  • подсветка url
  • наличие цветовых профилей для вкладок

 

kawaii_neko
()

А как работает авторизация «git@github.com» под капотом?

Форум — Development

Ковырял я тут libssh и вдруг стало интересно, а как работает авторизация в гилабах/гитхабах?

Получается, что у них должен быть самописный ssh-сервер, который особым образом обрабатывает аутентификацию по ключам? Или же есть возможность для shell-а понять, что за ключ использовался при авторизации?

Ну и может кто подскажет, где/по каким ключевым словам можно найти исходники этих серверов авторизации?

 

kawaii_neko
()

Какой загрузчик использовать вместо grub?

Форум — General

Решил обновить мир, обнаружил, что ebuild-а grub-0.97 больше нет. grub 2 не люблю с самого первого знакомства, с uefi как-то не сложилось, lilo когда-то требовал запуска бинарника на каждое изменение загрузочного меню.

Куда бежать?

Требования:

  • возможность грузить legacy-установку windows
  • загрузочное меню
  • простое редактирование этого меню (правка kernel command line, добавление/удаление пунктов)
  • командный режим при загрузке (не раз здорово выручал, когда после очередной чистки пыли вставлял sata-кабели не в том порядке)
  • диагностические сообщения от ядра с первых секунд загрузки — после «проблем» с uefi оказалось, что ядру всего лишь не хватало вкомпиленного модуля для корневой fs, но узнал я об этом с текстового режима 80x25 (0x3, если кто еще помнит, что это такое) после перехода в legacy режим.

 ,

kawaii_neko
()

bash - выполнить команду, не добавляя ее в историю

Форум — General

Про HISTCONTROL знаю, однако самый частый паттерн — поднять какой-нибудь git fetch из истории и выполнить его. Сейчас приходится жать ^r, переходить в начало строки. добавлять пробел и только после этого жать на Enter. Хотелось бы нажимать, скажем, Ctrl-Enter, чтобы выполнить команду без оседания ее в истории.

Итого вопрос можно разбить на две части:

  1. как выглядит ctrl-enter для bind-а? Пробовал «подсмотреть» через ^v, так Ctrl-Enter работает похоже на ^j — т. е. вставляет перевод строки.
  2. а что, собственно, биндить-то? «перейти в начало строки», «ввести пробел», «нажать enter»?

 ,

kawaii_neko
()

Разыскивается DE-agnostic скриншотилка

Форум — Desktop

Требуемые фичи:

  1. никакого электронообразного говна
  2. скриншот всего экрана, выбранного окна или выделенной области (как в gimp)
  3. умение помещать скриншот в clipboard или сохранять на диск с помещением в clipboard полного пути к файлу
  4. выходное изображение в форматах png и jpg
  5. возможность слегка подправить (добавить подписи, линии, стрелки) на изображении перед сохранением
  6. плюсом будет опциональная загрузка скриншотов на какой-нибудь сервис (imgur?) и выдача ссылки в clipboard
  7. наличие ebuild-а приветствуется

Пункты 1-4 обязательны, 5 и 6 будут большим плюсом.

P.S. shutter не смог оценить, ибо

Some packages could not be installed. This may mean that you have requested an impossible situation or if you are using the unstable distribution that some required packages have not yet been created or been moved out of Incoming.

 

kawaii_neko
()

Вторая жизнь старого телевизора

Форум — Multimedia

Есть старый «не-умный» телевизор с HDMI входом и гигабитным ethernet проводом неподалеку. Как бы дешево и сердито превратить его в мультимедиа-станцию безо всякого IPTV со стороны провайдера?

Если быть точнее, то интересует:

  • какое железо подойдет (raspberry pi3)? Я так понимаю, что мне хотелось бы звука через HDMI.
  • kodi (aka xbmc) - это какой-то пакет или дистрибутив?
  • как организовать скачивание и просмотр сериалов с торрентов «удобно и без износа носителя» - на «большом ПК» я для этого использую tmpfs на 10gb, а тут как быть?
  • может быть уже есть что-то говорое в красивой коробочке (только не надо неттопов - это явный оверкилл), или нужно как истинному линуксоиду поразвлечься с барахлом?

 ,

kawaii_neko
()

mmap и ошибки записи на диск

Форум — Development

Последние пару недель не могу найти ответ на вопрос, что же будет, если при записи mmap-нутого файла произойдет ошибка блочного устройства? Как с точки зрения приложения будет выглядеть ошибка (SIGBUS?), в какой момент она появится и как ее правильно обработать?

 ,

kawaii_neko
()

При загрузке «фризится» текстовая консоль

Форум — General

Выглядит это так: init (openrc, если это важно) выводит строки о запуске сервисов, затем вывод в консоль прекращается.

Приглашения ввести логин (да, я ретроград и гружусь в 3-й runlevel) не видно, однако можно залогиниться «вслепую», запустить иксы, после выхода из которых консоль замечательно работает. Грешил было на обновленный драйвер nvidia, убрал его из автоматически подгружаемых модулей, но проблема осталась.

В dmesg чисто.

В какую сторону копать?

 

kawaii_neko
()

sysctl.conf не устанавливает параметр ядра после загрузки в Gentoo

Форум — General

В sysctl.conf прописано:

net.ipv6.conf.all.forwarding = 1
Сразу после загрузки этот параметр равен 0. Если перезапустить /etc/init.d/sysctl, то все срабатывает.

Я полагаю, что проблема в том, что ipv6 скомпилировано в виде модулей и на момент выполнения sysctl при загрузке эти модули просто не загружены. Как бы максимально изящно выкрутится?

Можно, конечно, вкомпилировать соответствующие модули или вставить sysctl -w в local, но вдруг есть способы поэлегантнее?

Версия ядра: 4.9.76-gentoo

Ну и вдогонку, чтобы темы не плодить: можно ли как-то отучить /etc/init.d/net ждать 5 секунд появления IPv6 адреса на интерфейсе?

 

kawaii_neko
()

HDD

Форум — Linux-hardware

После 10 лет верной службы посыпался жесткий диск (72 плохих сектора на настоящий момент). Посоветуйте:

  • как правильно утилизировать отработавшие жесткие диски (молотком и в мусорку)?
  • какой производитель HDD не скатился (Seagate ведь до сих пор делает г-но)?
  • не хочется связываться с GPT — что надежного и относительно быстрого можно взять под раздел для игр в дуалбуте? Больше 1Tb навряд ли понадобится.

 ,

kawaii_neko
()

IPv6-nat?

Форум — Admin

Дано: домашний десктоп на линуксе с vpn-туннелем. К нему время от времени подключаются по wifi или по проводу другие девайсы. Нужно предоставить этим девайсам возможность пользоваться vpn-туннелем.

Сложность заключается в том, что через этот туннель ходят в т. ч. по IPv6 и его конфигурацию я не осилил от слова «совсем». Мои скромные сетеввые познания наталкивают на мысль, что мне нужен NAT для некоторых диапазонов адресов (для IPv4 это был бы -o tun0 -j MASQUERADE) — как такое делается в случае ipv6?

 ,

kawaii_neko
()

Выбор клавиатуры

Форум — Talks

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

Посоветуйте клавиатуру (бюджет некритичен) по следующим параметрам:

  • «ножничные» клавиши, а желательно «островные» (кажется, так маркетологи называли яблоподобные кнопки)
  • широкие shift-ы, низкий enter

Вот это выглядело перспективно, но enter «перевернутым сапогом» в русской версии отвратителен.

 

kawaii_neko
()

Sacred Gold — крайне низкая производительность

Форум — Games

Доброго всем времени суток!

Охватила ностальгия и решил немного побегать в нативную версию того самого Sacred-а. Помню, что году эдак в 2010 нативная линуксовая версия выглядела намного приятнее windows-версии (поддерживалось нативное разрешение), при этом производительность была на высоте. Однако все меняется.

Запустив тот же самый бинарник сегодня с удивлением обнаружил, что уже в меню игра начинает потреблять 80-90% CPU и чувствуются тормоза. На экране выбора класса персонажа чувствуются серьезные тормоза, ну а играть попросту невозможно (меньше одного fps).

В strace кажется подозрительным постоянные попытки игры найти несуществующие файлы:

[pid 32537] open("/mnt/media/games/Sacred/./PAK/NPC_DIALOG_01.TGA", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid 32537] open("/mnt/media/games/Sacred/./pak/npc_dialog_01.tga", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid 32537] open("./PAK/NPC_DIALOG_01.TGA", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid 32537] open("./pak/npc_dialog_01.tga", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid 32537] open("/mnt/media/games/Sacred/./PAK/NPC_DIALOG_01.TGA", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid 32537] open("/mnt/media/games/Sacred/./pak/npc_dialog_01.tga", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid 32537] open("./PAK/NPC_DIALOG_01.TGA", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid 32537] open("./pak/npc_dialog_01.tga", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid 32537] _llseek(20, 478392320, [478392320], SEEK_SET) = 0
[pid 32537] read(20, "&2v\3223\20\346\354\24d\221\234b\22\326\35\31\233\33\251\277\343\334Q\277\217\v.\271\214\344L"..., 4096) = 4096

Но судя по последнему llseek-у, нужный ресурс запакован в файлы игры и успешно находится, да и картинка рисуется «правильная».

Собственно вопросы:

  1. есть ли у кого success story по работе этой игры на актуальных дистрибутивах Linux?
  2. чем можно померять, на что, собственно, уходит процессорное время? С опенсорсными библиотеками и LD_PRELOAD-ом можно творить настоящие чудеса, но нужно знать, куда копать, а я пока понятия не имею.

 

kawaii_neko
()

nvidia, черный экран

Форум — Desktop

gentoo, обновил ядро до 4.9.76-r1, xorg-server до 1.19.5-r1. Что бы я ни делал, иксы выдают черный экран с nvidia-драйвером. Пробовал различные версии драйвера от 375 до 390 — результат везде один.

Судя по логу, что-то идет не так. Пробовал убирать metamodes — ничего не меняется.

[    16.445] (II) Module glx: vendor="NVIDIA Corporation"
[    16.445] (II) NVIDIA GLX Module  390.42  Sat Mar  3 03:25:37 PST 2018
[    16.457] (II) Module nvidia: vendor="NVIDIA Corporation"
[    16.459] (II) NVIDIA dlloader X Driver  390.42  Sat Mar  3 03:00:31 PST 2018
[    16.459] (II) NVIDIA Unified Driver for all Supported NVIDIA GPUs
[    16.472] (II) NVIDIA(0): Creating default Display subsection in Screen section
[    16.472] (==) NVIDIA(0): Depth 24, (==) framebuffer bpp 32
[    16.472] (==) NVIDIA(0): RGB weight 888
[    16.472] (==) NVIDIA(0): Default visual is TrueColor
[    16.472] (==) NVIDIA(0): Using gamma correction (1.0, 1.0, 1.0)
[    16.473] (**) NVIDIA(0): Option "HWcursor"
[    16.473] (**) NVIDIA(0): Option "RenderAccel" "true"
[    16.473] (**) NVIDIA(0): Option "AllowGLXWithComposite" "true"
[    16.473] (**) NVIDIA(0): Option "TripleBuffer" "true"
[    16.473] (**) NVIDIA(0): Option "AddARGBGLXVisuals" "True"
[    16.473] (**) NVIDIA(0): Option "ConnectToAcpid" "false"
[    16.473] (**) NVIDIA(0): Enabling RENDER acceleration
[    16.473] (**) NVIDIA(0): Option "MetaModes" "nvidia-auto-select +0+0 { ForceFullCompositionPipeline = On }"
[    16.473] (**) NVIDIA(0): Enabling 2D acceleration
[    16.719] (II) NVIDIA(0): NVIDIA GPU GeForce GTX 770 (GK104) at PCI:1:0:0 (GPU-0)
[    16.719] (--) NVIDIA(0): Memory: 4194304 kBytes
[    16.719] (--) NVIDIA(0): VideoBIOS: 80.04.bc.00.0f
[    16.719] (II) NVIDIA(0): Detected PCI Express Link width: 16X
[    16.719] (II) NVIDIA(0): Validated MetaModes:
[    16.719] (II) NVIDIA(0):     "NULL"
[    16.719] (II) NVIDIA(0): Virtual screen size determined to be 640 x 480
[    16.719] (WW) NVIDIA(0): Unable to get display device for DPI computation.
[    16.719] (==) NVIDIA(0): DPI set to (75, 75); computed from built-in default
[    16.719] (**) NVIDIA(0): Enabling 32-bit ARGB GLX visuals.
[    16.720] (II) NVIDIA: Using 6144.00 MB of virtual memory for indirect memory
[    16.720] (II) NVIDIA:     access.
[    16.735] (II) NVIDIA(0): Setting mode "NULL"
[    16.741] (==) NVIDIA(0): Disabling shared memory pixmaps
[    16.741] (==) NVIDIA(0): Backing store enabled
[    16.741] (==) NVIDIA(0): Silken mouse enabled
[    16.742] (**) NVIDIA(0): DPMS enabled
[    16.742] (II) NVIDIA(0): [DRI2] Setup complete
[    16.742] (II) NVIDIA(0): [DRI2]   VDPAU driver: nvidia
[    30.717] (II) NVIDIA(0): Setting mode "NULL"

 

kawaii_neko
()

Кто все эти люди, что производят опенсорс?

Форум — Talks

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

Сейчас в свободное время писать код мне не хочется, на все новомодные фреймворки, языки и прочее — чхать с высокой колокольни. Максимум, на что я готов потратить свободное время — многопоточный порнодаунлоадер с голосовым управлением, дабы руки были свободны для полезной деятельности. Рожать какие-то аудио или видеоплееры, пакетные менеджеры неохота. Даже дистрибутив апдейтить неохота, а то мало ли что там сломается (vimfx после последнего апдейта отсох по известным причинам, например).

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

 

kawaii_neko
()

Господа, у нас проблема и имя ей jollheef

Форум — Linux-org-ru

jollheef потер половину дискуссии в Говнокод 10-летней давности, пройдясь попутно по шкворцу адекватных товарищей.

Хочу перейти сразу к делу:

  • вот это особенно сочно: https://imgur.com/a/uGvPD Годегенерат, как и растодегенерат — это клинический диагноз, как, скажем, и олигофрен.
  • зачем он модерирует development, в котором ничего не понимает? Если понимает, то зачем трет техническую дискуссию?
  • что он делает в интернете с такой хрупкой психикой? В формат хабра вполне впишется, на лоре после такого лично мне его видеть неприятно

P. S. и как же называть таких товарищей, которые гыгыкают при виде magic; do not touch? Приматоразработчик чтоли?

P. P. S. не знаю зачем, но cast tailgunner

 ,

kawaii_neko
()

Странные ограничения offsetof

Форум — Development

C++ 11 и выше накладывает шизанутые ограничения на offsetof: http://en.cppreference.com/w/cpp/concept/StandardLayoutType

Вкратце:

  • смешал любые из двух private/protected/public => non-standard layout
    struct non_std {
      int x;
    private:
      int y;
    };
    
  • виртуальная функция и/или виртуальный базовый класс => non-standard layout
  • используешь ссылки => non-standard layout
    struct non_std {
      int x;
      int &y;
    };
    
  • все нестатические поля должны быть standard layout
  • еще портянка про C++14 и о том, как было плёхо без него

Внимание, вопрос: зачем все это? Ежу понятно, что компилятор каждую структуру располагает в памяти строго фиксированным образом, который зависит лишь от версии компилятора и параметров компиляции (в т. ч. pragma align). То есть, все поля любого класса вне зависимости от его «наполнения» имеют строго определенные оффсеты, которыми можно свободно манипулировать (да, я люблю интрузивные контейнеры из sys/queue.h). Зачем это запрещать?

И не только я считаю, что это полное дерьмо (в головах разработчиков стандарта ofc), порождающее чудовищ: https://gist.github.com/graphitemaster/494f21190bb2c63c5516

Как же быть? Мой ответ:

#define coo1_offsetof(type, field) ((uintptr_t)&((type*)(void*)(uintptr_t)1)->field - 1u)

Удалось ли мне утереть нос секте UB-шников, которые в наши дни пишут компиляторы?

 ,

kawaii_neko
()

Временами при старте виснет Xorg с проприетарным драйвером

Форум — Desktop

При этом проде бы происходит переключение режима, но мышиного курсора не появляется — просто черный экран. На sysrq-b система не перезагружается. А вот после sysrq-s в логах кое-что осело:

/var/log/messages:

Jun 20 09:30:38 sr3 kernel: udevd[1828]: timeout 'nvidia-udev.sh add'
Jun 20 09:30:38 sr3 kernel: udevd[1828]: slow: 'nvidia-udev.sh add' [1942]
Jun 20 09:30:39 sr3 kernel: udevd[1828]: timeout: killing 'nvidia-udev.sh add' [1942]
Jun 20 09:30:39 sr3 kernel: udevd[1828]: slow: 'nvidia-udev.sh add' [1942]
Jun 20 09:30:39 sr3 kernel: udevd[1828]: 'nvidia-udev.sh add' [1942] terminated by signal 9 (Killed)

И Xorg.log прерывается ровно в том месте, после которого идет информация о загрузке драйвера nvidia:

[   153.683] (II) LoadModule: "glx"
[   153.685] (II) Loading /usr/lib64/opengl/nvidia/extensions/libglx.so
[   153.732] (II) Module glx: vendor="NVIDIA Corporation"
[   153.732]    compiled for 4.0.2, module version = 1.0.0
[   153.732]    Module class: X.Org Server Extension
[   153.733] (II) NVIDIA GLX Module  375.66  Mon May  1 14:28:39 PDT 2017
[   153.734] (II) LoadModule: "nvidia"
[   153.736] (II) Loading /usr/lib64/xorg/modules/drivers/nvidia_drv.so
[   153.743] (II) Module nvidia: vendor="NVIDIA Corporation"
[   153.743]    compiled for 4.0.2, module version = 1.0.0
[   153.743]    Module class: X.Org Video Driver
[   153.743] (II) NVIDIA dlloader X Driver  375.66  Mon May  1 14:03:26 PDT 2017
[   153.743] (II) NVIDIA Unified Driver for all Supported NVIDIA GPUs
[   153.744] (--) using VT number 7

[   153.748] (II) Loading sub module "fb"
[   153.748] (II) LoadModule: "fb"
[   153.748] (II) Loading /usr/lib64/xorg/modules/libfb.so
[   153.749] (II) Module fb: vendor="X.Org Foundation"
[   153.749]    compiled for 1.19.2, module version = 1.0.0
[   153.749]    ABI class: X.Org ANSI C Emulation, version 0.4
[   153.749] (II) Loading sub module "wfb"
[   153.749] (II) LoadModule: "wfb"
[   153.750] (II) Loading /usr/lib64/xorg/modules/libwfb.so
[   153.751] (II) Module wfb: vendor="X.Org Foundation"
[   153.751]    compiled for 1.19.2, module version = 1.0.0
[   153.751]    ABI class: X.Org ANSI C Emulation, version 0.4
[   153.751] (II) Loading sub module "ramdac"
[   153.751] (II) LoadModule: "ramdac"
[   153.751] (II) Module "ramdac" already built-in
############################
# дальше здесь могло бы быть #
############################
[    12.014] (II) NVIDIA(0): Creating default Display subsection in Screen section
        "Default Screen Section" for depth/fbbpp 24/32
[    12.014] (==) NVIDIA(0): Depth 24, (==) framebuffer bpp 32
[    12.014] (==) NVIDIA(0): RGB weight 888
[    12.014] (==) NVIDIA(0): Default visual is TrueColor
[    12.014] (==) NVIDIA(0): Using gamma correction (1.0, 1.0, 1.0)
.......

Сие несчастие постигло меня на ровном месте наблюдается на различных версиях драйвера. Что можно попробовать поменять?

P. S. noveau и AMD/intel вместо видеокарты не предлагать.

 ,

kawaii_neko
()

USB-педали для ctlr/shift

Форум — Talks

Не будет ли любезен многоуважаемый all подсказать, есть ли USB-шные педали для модификаторов где-то в московских магазинах?

У буржуев находится https://www.amazon.com/USB-Foot-Switch-Keyboard-Pedal/dp/B008MU0TBU но пока его привезут, я могу успеть охладеть к дефолтной имаксовой раскладке.

 

kawaii_neko
()

Есть ли у git alias для $remote/$CURRENTBRANCH?

Форум — Development

Допустим, я нахожусь в расчекаученном бранче my-cool-branchname, куда я накоммитил кучу всякого. По отдельности коммиты вроде бы ок, но время от времени для понимания общей картины я делаю

git diff origin/my-cool-branchname

Внимание, вопрос: есть ли какой-то alias для HEAD-а текущей ветки в remote-репозитории? Дублировать каждый раз имя текущего бранча (особенно если оно длинное) напрягает.

 

kawaii_neko
()

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