LINUX.ORG.RU

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

flibrary - многоуровневые коллекции fb2-книг на основе архивов флибусты

Форум — Desktop

Всем привет.

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

В результате (кроме самой библиотеки) получился набор скриптов на python для работы с многоуровневыми коллекциями fb2-книг из базы данных флибусты. Скрипты позволяют записать файловую структуру в небольшой (3.8 мб для 35000 книг) дамп-файл и восстановить её из архива флибусты.

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

Скрипты лежат в репозитории

https://github.com/flibrarian/flibrary

а та самая моя библиотека отдельно в

https://github.com/flibrarian/flibrary-main-collection

Альтрнативно и то и другое есть на меге:

https://mega.nz/folder/QJpGXRjb#1HftyMZtcSzBUh0omTHUsQ

К скриптам прилагается детальное README, а также тестовая коллекция из нескольких книг, для проверки настроек перед использованием основной.

Немного о моей библиотеке: на сегодняшний день она содержит 35618 книг, разложенных по 6825 подкатегориям. Охват довольно широк, включая классическую литературу, фольклор, науку, религию и практические знания, но на полноту она ни в коем случае не претендует. Как пример, здесь почти нет современной развлекательной беллетристики (хотя «классика» жанровой литературы присутствует), специфических хобби и много другого, в чём я не смог или не захотел разобраться. Строгость классификации также соблюдается не всегда, однако это лучшее, что я смог сделать на своём дилетантском уровне.

Чтобы посмотреть на структуру и оценить, насколько это вам подходит, есть скрипт flibhtml, позволяющий сгенерировать html-каталог библиотеки из дамп-файла.

Надеюсь, кому-нибудь это будет полезно как для пользования моей библиотекой, так и для создания своих - с нуля или из моей.

 , , ,

flibrarian
()

Новая программа управления fb2-библиотекой

Форум — Desktop

Всем привет.

Написал с нуля новую программу для хранения, поиска, чтения и конвертации больших библиотек fb2: https://bitbucket.org/tkatchev/flibby/

Умеет индексировать, проводить поиск по индексу, экспортировать, читать и конвертировать в PDF книги из fb2-архивов.

(Если кто-то помнит myRuLib - то тут примерно то же самое, только проще, функциональнее, быстрее и в консоли.)

Надеюсь, кому-то будет полезно.

 , , , ,

tkatchev
()

Windows95 like WMs?

Форум — Desktop

Привет! Тут сказано https://en.wikipedia.org/wiki/FVWM95 , что похожие Qvwm,IceWM,JWM

Пробовал IceWM, понравился. Посоветуйте, что нибудь живое, простое и похожее на Windows95? Может попробовать еще fluxbox? Хотя он и не совсем похож на Windows95, но интересно.

 , ,

grovekeeper
()

Любой GNU/Linux. С любого накопителя. С откатом неудачных конфигураций.

Форум — Talks

Здравствуйте, мои маленькие любители авиационного спирта!

Сегодня я вам расскажу на примере Gentoo GNU/Linux как создать загрузочную USB-флешку или любой другой накопитель, HDD, SSD, и расскажу как сделать откат неудачных конфигураций. Прям как в NixOS, но главное отличие и преимущество, что это не NixOS, а это может быть вообще любой дистрибутив на ваш выбор. Так!

Скачиваем генту.

# wget https://bouncer.gentoo.org/fetch/root/all/releases/amd64/autobuilds/20200624T214505Z/stage3-amd64-20200624T214505Z.tar.xz
# mkdir gentoo/
# tar xf stage3-* -C gentoo/

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

# chroot gentoo/ /bin/bash <<EOF
echo -e "toor\ntoor" | (passwd root)
EOF

Всё, на этом этапе у нас есть директория gentoo/, это может быть вообще любой дистрибутив, значения не имеет.

Теперь для создания загрузочной USB-флешки вам понадобится:

✅ USB-флешка
✅ Ядрышко, можно ванильное (/boot/vmlinuz-* подойдёт).
✅ initrd-образ (создадим сами).

Не забудьте USB-накопитель подключить к компьютеру.

Подключив, USB-накопитель появится по адресу, например, /dev/sdb.

Создадим initrd-образ:

# mkinitramfs `mktemp -d` > initrd

А теперь создаём загрузочный USB-накопитель:

# mkbootable /dev/sdb      \    # <- это флешка
    --kernel /boot/vmlinuz \    # <- это ядро linux
    --initrd ./initrd      \    # <- это initrd
    --overlay gentoo/      \    # <- это папка с дистрибутивом linux
    --squashfs-xz               # <- это способ сжатия папки с дистрибутивом linux

⚠⚠⚠ Все данные на /dev/sdb будут уничтожены!!! ⚠⚠⚠

Всё готово, вы великолепны! Теперь вы можете загрузиться с данного USB-накопителя в свою Gentoo!

А вся красота данного метода заключается в том, что вы можете продолжать пользоваться своим USB-накопителем как USB-накопителем! И к тому же установленной системой на ней!

USB-флешка загружается и на BIOS, и на UEFI-системах!

Структура накопителя следующая:

/dev/sdb                         # <- ваша флешка
/dev/sdb1                        # <- BIOS раздел 1мб
/dev/sdb2                        # <- UEFI раздел 50мб
  /EFI/BOOT/BOOTX64.EFI
/dev/sdb3                        # <- ваш линукс и ваши данные
  /boot/grub
  /boot/vmlinuz
  /boot/initrd
  /system/10-gentoo.squashfs     # <- гента!1!
  /ANIME
  /MLP NEW SERIES                # <- другие важные данные на флешке

Создание BIOS / UEFI загрузочной USB-флешки всего одной командой!!!!1

И эта флешка ещё может продолжать использоваться как флешка!11

Загрузившись с использованием опции boobs.use-overlayfs, или выбрав в меню загрузчика grub пункт: «Boot using Overlay FS», ваша условная Gentoo GNU/Linux будет работать как read-only оверлей.

Все изменения которые вы сделаете в системе сохраняются отдельной в папке /mnt/overlays/roofs-changes.

Что мы делаем теперь? А теперь мы можем все эти изменения сохранить и положить сюда же, на USB-накопитель! Это может быть SquashFS-образ, cpio-архив или просто директория, да.

Из загруженой системы монтируем флешку в /mnt/storage:

# mount /dev/sdb3 /mnt/storage

После обновления «мира», добавления новых пакетов сохраняем все изменения как SquasFS-образ:

# mksquashfs /mnt/overlays/rootfs-changes /mnt/storage/system/rootfs-changes.squashfs

Все наши /home-данные можно просто скопировать как обычную директорию на флешку:

# cp -a /home /mnt/storage/system/home-data

Каждое обновление системы можно сохранять отдельным SquashFS-образом.

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

Шах и мат, NixOS!

Скачать: https://github.com/sp00f1ng/boobstrap

 

Spoofing
()

Ах, эти дивные времена, когда глаза долбили пингвины, Билл дарил им винду, а браузер ютился в одном окне с файлами...

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

... и на моём Атлоне с одним ядром и 256 МиБ оперативной памяти (а может быть и меньше, не помню, когда какие планки уже купил) стоял лучший в мире дистрибутив - SuSE Linux 8.1 Professional, настоящего немецкого качества от Gesellschaft für Software und System Entwicklung.

По крайней мере, именно так мне и казалось, что он и есть самый лучший. Нет, SuSE не был мои первым дистрибутивом GNU/Linux, но он произвёл на меня гораздо большее впечатление, чем попавшаяся перед ним «Красная шапочка». О GNU/Linux я тогда знал только поверхностно. Поэтому удобнейший менеджер настроек для всего и вся, который к тому же интегрировался в центр управления KDE, и назывался YaST2, пришёлся очень кстати. А кроме этого дистрибутив был аж на семи дисках, что при тогдашних «интернетах» было настоящим подарком.

Разбирал я на днях залежи всевозможного старья и нашёл коробку с этими самыми семью дисками, которые я купил вместе с одногруппником на радио рынке. Точнее не купил, скорее поменял. Насколько я помню, тогда я уже проникся идеями Linux'а и всем в группе рассказывал, какая это прекрасная операционная система, как в ней всё гибко и удобно. Тем самым и уговорил парня собрать в складчину ненужные игры и поменять с доплатой на сей прекрасный программный продукт. Ему это тогда быстро наскучило и SuSE он удалил, при том потеряв возможность загружаться в винду, т.к. про GRUB он ничего не знал и знатно меня потом материл. А я ещё очень долго пользовался данным дистрибутивом пока не пересел на какой-то Mandrake. Но он был уже не так интересен, просто тяга к экспериментам перевесила.

Диски оказались несколько затёртыми, и чтение их не прошло гладко, поэтому пришлось пару дней повозиться с ddrescue и dvdisaster. К сожалению, четвёртый диск так полностью и не удалось прочитать, повреждёнными оказались около 300 КиБ. И где его можно было бы скачать, я так и не нашёл. Правда я пока на эти «дыры» ещё не попал.

Система установлена на ReiserFS (по умолчанию так), работает на ядре 2.4.19. Третьи «Кеды» и сейчас радуют глаз темой keramik, не смотря на теперешнюю плоскую моду. Печально, но на любимый сайт мне из Konqueror'а зайти не удалось, я добрался только до Google. А вот Opera, которую можно наблюдать свёрнутой на панели задач, его вполне открывает. Хотя, помню, в те давние времена я использовал Konqueror и как менеджер файлов и для просмотра html страниц.

Установка и первая загрузка: https://imgur.com/a/nU44U9J

P.S.: Отвечаю на вопрос любопытствующего посетителя галереи «Почему же на скриншоте глаза, пингвины и Билл?». Боюсь, точного ответа у меня нет. Но именно это вызвало у меня самые ностальгические чувства и воспоминания о тех временах, когда каждый пытался украсить свой рабочий стол как мог, а «кубик» был где-то в далёком-далёком будущем.

 , , , ,

ls-h
()

Вышел Новеллотык-1.0.0 и тестовая игра «Догони меня кирпич»

Форум — Games

Невизуальный движок для визуальных новелл без плюсов и пистонов, Новеллотык, о котором столько флудили на форуме, написан и выложен на лучшие файлопом.... хранилища интернета! Спешите скачать и протестить увлекательную 18+ новеллу идущую вместе с дижком в качестве демки:
https://sourceforge.net/projects/novellotyk/files/
https://yadi.sk/d/eUx9cwtx3Z9tBF

md5 суммы:
c1c71962b164d04a6ac9b8790896ea72 novellotyk-1.0.0.tar.gz
e26fadaff65bda485c285bc5657a6bbd novellotyk-1.0.0.rar

А для всех боящихся линуксовых вирусов приготовлены познавательные скриншоты, проверенные вэбантивирусами:
Графический интерфейс,
начало повествования.
Спойлер, т.к. большинство завсегдатаев запустить ПО испугаются.

Лицензия - модифицированная lgpl

Quasar-Napilnik_CPY hobbit Chelobaka rotfront robus Man-o-Jar Вроде бы всех интересовавшихся перечислил.

Бинарники собраны под платформы: x86-linux, x86_64-linux, win32 и win64. Для игры необходимы OpenGL, OpenAL, клава, мышка и оперативная память. Количество кирпичей ограничено, спешите сосчитать их первыми.

 , , ,

Napilnik
()

Kubuntu Focus - мощный ноутбук от создателей Kubuntu

Новости — Hardware and Drivers
Kubuntu Focus - мощный ноутбук от создателей Kubuntu
Группа Hardware and Drivers

Kubuntu Team представляет свой первый официальный ноутбук - Kubuntu Focus. И пусть вас не смущают его небольшие размеры - это настоящий терминатор в оболочке бизнес-ноута. Он проглотит любую задачу и не подавится. Предустановленная ОС Kubuntu 18.04 LTS была тщательно настроена и оптимизирована для максимально эффективной работы на этом железе, что дало серьезный прирост производительности (см. тесты бенчмарков).

Технические характеристики:

  • OS: Hardware-tuned Kubuntu 18.04 with backports and PPA repositories for target workflows
  • CPU: Core i7-9750H 6c/12t 4.5GHz Turbo
  • GPU: NVIDIA GeForce RTX 2060 6 GB GDDR6 with PhysX and CUDA
  • Экран: Full HD 16.1” matte 1080p IPS 144Hz
  • Возможность подключить по меньшей мере 3 дополнительных 4K монитора с помощью MDP, USB-C, и HDMI
    • 1x Mini-DisplayPort 1.4 с поддержкой до 8K@60Hz
    • 1x USB-C DisplayPort 1.4 с поддержкой до 8K@60Hz
    • 1x HDMI 2.0 с поддержкой до 4K@60Hz
  • Память: 32GB Dual Channel DDR4 2666 MHz
  • Диск: 1TB Samsung EVO Plus NVMe 3,500MB/s and 2,700MB/s seq. read and write.
  • Работает в 5 раз быстрее, чем стандартный Evo 860 Pro SSD
  • Сеть:
    • Intel Dual AC 9260 & Bluetooth (M.2 2230) 802.11 ac/a/b/g/n
    • DualBand 300 Mbit/s (2.4GHz WIFI) / 1,730 Mbit/s (5GHz WIFI)
    • Wired/LAN: Gigabit LAN (Realtek RTL8168/8111 Ethernet, 10/100/1000 Mbit/s)
    • Dual Mode Bluetooth 5
  • Безопасность:
    • Kensington Lock
    • Full disk encryption
  • Звук:
    • High Definition Audio, 2x 2W speakers
    • Встроенный микрофон с шумоподавлением
    • Optical S/PDIF output
  • Веб-камера: Full-HD камера и микрофон с физическим затвором
  • Клавиатура:
    • 3mm travel
    • Многоцветная LED-подсветка
    • Kubuntu супер-кнопка
  • Тачпад: 2 кнопки, Glass Synaptics, хорошая чувствительность, поддержка мультижестов и прокрутки
  • Корпус: металлические поверхности, пластиковое дно, толщина 20 мм, вес 2.1 кг.
  • Воркфлоу: множество связных приложений были установлены и протестированы для обеспечения поддержки полного цикла задач:
    • Администрирование БД (MySQL, MariaDB, PostGreSQL, others)
    • DevOps с использованием AWS, Google, Azure
    • Deep Learning CUDA и Python suite
    • Корпоративная безопасность
    • Редактирование изображений
    • Гейминг
    • Профессиональная фотография
    • Разработка веб-приложений (Python3 / Java / JavaScript / HTML5 / CSS3)
  • Охлаждение:
    • Кулеры с контролем температуры
    • Практически бесшумная работа (за исключением ситуаций с максимальной нагрузкой CPU и GPU)
  • Кард-ридер:
    • MMC / RSMMC
    • SD Express / UHS-II
    • MS / MS Pro / MS Duo
    • SD / SDHC / SDXC / Micro SD (необходим адаптер)
  • Порты:
    • 2x USB 3.0 Type-A (1x powered)
    • 2x USB 3.1 Type-C Gen2 (10 GBit/s) (no power-delivery/DC-IN)
    • 1x DisplayPort 1.4 by USB-C
    • 1x HDMI 2.0 (with HDCP)
    • 1x Mini-DisplayPort 1.4 (supports G-SYNC capable monitors)
    • 1x Ethernet Port / Gigabit-LAN (10/100/1000 MB); RJ45
    • 1x 2-in-1 audio (Headphone or Headset, 3.5mm coaxial)
    • 1x 2-in-1 audio (Microphone & S/PDIF optical, 3.5mm coaxial)
    • 1x Kensington Lock
    • 1x 6-in-1 Card Reader
    • 1x DC-IN/power connection
  • Расширение: возможность добавить SSD, NVMe, и RAM
  • Опции: обновление до RTX 2070 или 2080, 64GB RAM, дополнительный источник питания и диск
  • Поддержка: 2% от каждого проданного ноутбука идет в фонд Kubuntu
  • Гарантия: 2 года ограниченной поддержки оборудования и поддержка ПО

Стоимость базовой конфигурации Kubuntu Focus - $2395.

Ноутбук был создан и выпущен силами компаний MindShareManagement и Tuxedo Computers.

Если Kubuntu Focus кажется вам слишком дорогим - стоит обратить внимание на KDE Slimbook - официальный ноутбук проекта KDE на операционной системе KDE Neon. Он не менее стильный и тонкий, современный и мощный, подходит для работы и развлечений, а его цена составляет всего 649€ за модель на Intel i5 и 759€ за модель на Intel i7.

>>> Подробности

 , , , ,

fail2ban
()

Релиз TrafficToll 1.0.0 - программы для ограничения сетевого трафика приложений в Linux

Новости — Open Source
Релиз TrafficToll 1.0.0 - программы для ограничения сетевого трафика приложений в Linux
Группа Open Source

На днях состоялся релиз TrafficToll 1.0.0 — довольно полезной консольной программы, позволяющей ограничивать пропускную способность (шейпинг) или полностью блокировать сетевой трафик для отдельно выбранных приложений в Linux. Программа позволяет ограничить входящую и исходящую скорость как для каждого интерфейса, так и для каждого процесса по отдельности (даже во время его выполнения).

Ближайшим аналогом TrafficToll является известная проприетарная программа NetLimiter для Windows.

Инсталляция:

$ pip install traffictoll
tt должен быть запущен от root.

По ссылке продемонстрирован простой пример конфигурации.

А какие еще подобные программы под Linux вы знаете?

>>> Подробности

 , traffictoll, , ,

fail2ban
()

TT2020 — свободный шрифт пишущей машинки от Фредрика Брэннана

Новости — Open Source
Группа Open Source

1 января 2020 года Фредрик Брэннан (Fredrick Brennan) представил свободный шрифт «TT2020» — многоязычный шрифт пишущей машинки созданый с помощью редактора шрифтов FontForge.

Особенности шрифта

  • Реалистичная симуляци дефектов печати текста свойственных печатным машинкам;
  • Многоязычность;
  • 9 начертаний «дефектов» для каждого символа в каждом из 6 стилей шрифта;
  • Лицензия: SIL OFLv1.1 (SIL Open Font License, version 1.1).

Среди предыдущих шрифтовых работ стоит отметить свободные шрифты «Chomsky» (стилизованый под текст заголовка издания «The New York Times»), «Some Time Later» (стилизованый под шрифты из комиксов и мультсериала «Губка Боб Квадратные Штаны»), «LCD Font» (стилизованый под 14-сегментный шрифт ЖК-дисплеев) и другие.

Фредрик также принимает активное участие в разработке и подготовке следующего релиза FontForge.

>>> Подробности

 , typewriter,

atsym
()

Современный русский язык: аналитизм против синтетизма

Форум — Talks

Вот тут @alexferman отмечает аналитические тенденции в современном русском языке:

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

А чуть выше дает прогноз:

У меня есть гипотеза, что русский будет двигаться а сторону аналитичности (для иммигрантов это может снизить порог вхождения)

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

В целом, мы наблюдаем такие подвижки в сторону аналитизма:

Неизменяемые топонимы среднего рода: «Она работала в бутике в Бирюлёво».

Предложное управление вытесняет чистое падежное: «Дом из красного кирпича» вместо «Дом красного кирпича». «Специалист по продажам», «Директор по маркетингу». Чуть более сложное, но похожее замещение: «Поехал работать учителем» вместо простого «Поехал учителем». А многие ли из вас скажут «я шел коридором» вместо «по коридору»?

Канцелярит в широком ходу у многих носителей: «путем прокачки» вместо «прокачкой», «в отсутствие», «за неимением», когда достаточно «без», «при наличии» и т. д. То, что люди путают окончания в подобных оборотах и падежи в зависимой части, показывает, что морфология в них не так уж и важна.

Рост числа несклоняемых существительных за счет заимствований и доморощенных акронимов.

Постепенное развитие noun modifiers в полноценный класс. SD-карта, интернет-технологии, веб-сайт. Это всё еще сложные слова, почву для которых подготовили Советы с их наркомами, нардепами, исполкомами и инязами. То есть морфология. Однако же, тенденция к раздельному написанию очевидна.

Упадок остатков отделительного падежа: кто из вас говорит «две ложки сахару»?

Упрощение глагольной парадигмы. Где сейчас эти «хаживал», «едывал»?

Тенденция к употреблению личных местоимений там, где они избыточны: «он вспомнил, как он…», «мне грустно: я совсем не повидал ничего» (сравните: «Наша Маша громко плачет: // Уронила в речку мячик»).

Тенденция к фиксации базового порядка слов SVO (Subject – Verb – Object). VSO – это уже или откровенное просторечие, или речевой маркер: «Захожу я в магазин…» Остальные варианты, похоже, всегда были зарезервированы для специальных случаев: логическое ударение, выделение темы и ремы, передача определенности и неопределенности.

Тенденция к фиксации положения модификаторов перед модифицируемым словом: «очень хочу», «очень крепкий», «мощный компьютер».

Сокращение употребления кратких прилагательных: «Снег – белый» вместо «бел». Постепенный выход из употребления фразеологизмов вроде «белы руки», «красна девица». Сокращение числа словоформ – тенденция аналитическая.

Склонность некоторых молодых женщин говорить о себе в мужском роде: «Я не понял!»

Люди, пытаясь архаизировать свою речь, путают «есть» и «суть», хотя они не взаимозаменяемы.

Выход из употребления притяжательных прилагательных на -ов, -ев, -ин: «государев», «Машин», обычно заменяемых родительным падежом. А это уже управление вместо согласования, то есть шаг в сторону аналитизма.

Но. При всём при этом тенденции к еще большему синтетизму тоже наблюдаются.

Например, новый звательный падеж: Дим, Кать, Серёж. При этом, звонкие согласные на конце таких форм остаются звонкими, что для русской фонологии – нонсенс. Мне кажется, это происходит потому, что новый падеж еще до конца не осмыслен как падеж, и для носителя языка это просто усечение слова в определенном контексте.

Активные совершенные причастия будущего времени: «пройдущий», «напишущий». Их ныне защищает Эпштейн. Как окказионализмы они изредка попадались в литературе XIX века. Есть ли у них будущее? Пока непонятно. У меня иногда стали проскакивать.

Падение давнопрошедшего времени. «Я был ходил» в том смысле, что «когда-то давно с некоторой регулярностью ходил» осталось только в северных наречиях. И всё же, еще более аналитичное «я было пошел» осталось, потому как удобных альтернатив нет.

Упадок или ограниченное употребление некоторых энклитик: «мол», «таки», «-то», «-де». В то же время, «уж», «ведь», «ли» и «бы» чувствуют себя прекрасно.

Как-то так.

Значит ли это, что аналитизм победит?

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

А у нас ведь ударные окончания цветут буйным цветом. Чуть освоим слово – и уже профессорА, а не профЕссоры, катерА, а не кАтеры, серверА, а не сЕрверы, договорА, а не договОры. Постепенное отмирание ударных предлогов (всякие «пО лесу», «вО поле» и «час От часу» – это ограниченный и постоянно сокращающийся класс выражений) еще более ограничивает пространство для аналитизма. Подробнее можно посмотреть и почитать у Зализняка.

Вангую дальнейшую аналитизацию в ближайшие 500 лет, но умеренную. Мне кажется, русский язык или останется синтетическим, или станет аналитико-синтетическим, но не более того.

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

 , , , ,

Bagrov
()

Сочетания клавиш (выжимка из руководства)

Форум — General

Приветствую.
Осваиваю vim, проштудировал справку, образовалась таблица с командами/сочетаниями клавиш. С высокой долей вероятности - они самые ходовые. Сделаю бумажную версию, буду пытаться прирости. Оставляю здесь, надеюсь, будет полезно.

#----------------- Перемещение ------------------------------------------------
* h j k l
* 0 ^
* $
* gM                     Середина строки.
* [N]|                   Переход к столбцу с номером N, 1 по умолчанию.
* [N]f{char} [N]F{char}  К N'му символу char справа/слева.
* [N]t{char} [N]T{char}  До символа.
* [N]; [N],              Повтор f F t T в прямом/обратном напр-ии.
* g0 g^ g$ gm gk gj      Оперируют с экранными линиями.
* gg [line num]G
* {N}%                   На строку, являющуюся N % файла.
* w e b ge
  W E B gE               Границы слов - только пробелы.
* [N][* [N]]*            К /* или к */.
* gd gD                  К локальному/глобальному объявлению.
* {N}go                  К N байту буфера.
* CTRL-{U|Y|B}           Прокрутка назад на половину/строку/экран.
* CTRL-{D|E|F}           Прокрутка вперёд на половину/строку/экран.
* zz zt zb               Сдвиг окна так, что курсор в центре/в верху/в низу.
* [# ]# %                Перемещение по препроцессорным директивам.
* [[ ][                  К внешней {/};
  [{ ]}                  К текущей {/};
  [m ]m                  К предыдущей/следующей старту функции-члену;
  [] ]]                  Переход между функциями.
* [( ])                  К текущей (/).
* [/ ]/                  К /* /  */.
#----------------- Модификация, копирование -----------------------------------
* i I                    Добавление перед курсором/в начало строки.
* a A                    Добавление за курсором/в начале строки.
* x X                    Удалить под курсором/слева.
* i_CTRL-A i_CTRL-@      Вставить текст введённый в предыдущем insert режиме/
                         с выходом из insert режима.
* i_CTRL-Y i_CTRL-E      Скопировать символ со строки выше/ниже.
* ["x]d{pos} dd [N]D     Удалить до pos/всю строку/до конца строки;
                         Регистр X - добавить в x.
* i_CTRL-R[_CTRL-R]{reg} Вставка из регистра; [не вып-ть команды, <BS> и т.п.].
* ["x]y[pos] yy          Копирование объекта/всей строки.
* ["x]p P                Вставка после/перед курсором.
* o O                    Вставка пустой строки выше/ниже курсора.
* J gJ                   Удалить \n. В vis режиме - у всех выд-ых строк;
                         gJ - без пробелов.  
* r gr R gR              Замена одного/нескольких символов, с g - виртуальная;
                         В виз-ом ре-ме заменит блок символом.
* c{pos} cc C s          Замена объекта/строки/до конца строки/одного сивола.
* ~ v_{~|u|U}            Изменение регистра;
  {g~|gu|gU}{pos}        Всю строку - g~~, guu, ...
* i_CTRL-V{int|kstroke}  Вставить символ литерально.
* [N]CTRL-A [N]CTRL-X    Увеличить/уменьшить число под курсором на N.
#----------------- Поиск, поиск с заменой -------------------------------------
* %                      Поиск парных скобок.
* # *                    Поиск слова под курсором назад/вперёд.
  g# g*                  Находить и частичные совпадения.
* /txt[\c] ?txt[\c]      Поиск верёд/назад; n N продолжить вперёд/назад;
                         CTRL-I CTRL-O переходы вперёд/назад; \c иг-ть рег-тр.
* [range][%]s/было/стало/[g|c|e]  % - во всём файле; g не только первое;
                                  с - с запросом; e - отсут-ие совпад-ий не
                                  ошибка.
* :[range]g/{ptrn}/{cmd} Выполнить cmd на строках, подходящих под ptrn.
* :grep x *.cc
  :cnext :cprev :clist
* :set ic hls is         Нечувствительность к регистру/подсветка/инкр-ый поиск;
  :wrapscan               Для отключения префикс no (noic, ...).
* gf :find nm :sfind     Найти и открыть файл под курсором/nm в текущей
  CTRL-W f               директории и в path директориях.
  :set path+=
#----------------- Метки ------------------------------------------------------
* CTRL-{O|I}             Перемещение по меткам.
* ``                     Переход на последюю, тек-ая позиция - последняя метка.
* :jumps :clearjumps
* m{a-z} {`|'}{a-z}      Именованные метки; Создать/перейти/список;
  :marks [abc]           a-z локальные, A-Z глобальные.
* `" `.                  Поз-ия при выходе из файла/модификация перед выходом.
#----------------- Кодинг, фолдинг, отступы -----------------------------------
* zf zo zc               Фолдинг, создать/развернуть/свернуть;
  zr zm                  Уровень свёрнутости меньше/больше;
  zR zM                  Развернуть/свернуть всё;
  zn zN zt               Убарать фолдинг/вернуть/переключение между ними;
  zO zC                  Развернуть/свенруть всё под курсором;
  zd zD                  Удалить фол-г под курсором/весь;
  :set foldmethod=syntax
  :set foldopen=all      Автофолдинг.
       foldclose=all
* CTRL-X_CTRL-O          omni completion, CTRL-{P|N} для перемещения.
* set makeprg            Задать команду, выполняемую при :make;
  :c{next|previous|
     first|last}
  :cc[n] :clist[!]       Описание ошибок/список ошибок;
  :colder :cnewer        К старому/к новому списку ошибок;
  :compiler              Выбрать формат ошибок (set errorformat).
* set shiftwidth=4
  set softtabstop=4
  =                      Форм-вать текст (отступы); ==, v_=, gg=G весь файл;
  CTRL-T CTRL-D          Добавить/удалить один shiftwidth в строке;
  > <  << >>             Добавить/удалить отступ в норм-ом или виз-ом реж-ме;
  :set cinoptions        Настройка отступов.
#----------------- Файлы ------------------------------------------------------
* :w                     Сохранение части файла в виз-ом режиме/всего в об-ом.
* :e!                    Переоткрыть файл.
* ZZ                     Выход с сохранением или из справ-го окна.
* [range]r{file | !cmd}  Вставка файла/вывода cmd.
* :w :wa :w>>name
  :saveas :file :edit
  :hide edit
  :args [other*.txt]
  :[N]next :prev :last
  :first 
* CTRL-^                 Переход между последними файлами;
  CTRL-w CTRL-^          Переход с разделением окна.
* $ view file            Открыть read-only.
* :oldfiles :e #<2       История файлов/ссылка на второй.
* :buffers :ls
  :[s]buffer 3
  :bnext :bprevious
  :bdelete 3
#----------------- Окна, вкладки ----------------------------------------------
* :close :only :[v]new
* :[sz][v]split {name}
  :[vertical]all
* [sz]CTRL-W _           Изменить размер окна.
  CTRL-W +
  CTRL-W -
* CTRL-W {H|J|K}L}       Переход между окнами.
  CTRL-W w
* tab split [file]
  tabedit {file}
* gt :tabonly            Переход по вкладкам/закрыть кроме текущей.
#----------------- vimdiff ----------------------------------------------------
* zo zc                  Фолдинг в vimdiff.
* [vertical] diffsplit
* ]c [c                  Переход по изменениям.
* dp do                  Прменить изменение в/из другой/го файла.
* :diffupdate            Обновить подсветку.
#----------------- Командная строка -------------------------------------------
* <S-Right> <S-Left>     Перемещение
  CTRL-B CTRL-E
* CTRL-W CTRL-U CTRL-C   Удалить слово/всю строку/выйти.
* <Tab> CTRL-{P|N}       ctrl комбинации после Tab;
  CTRL-D                 Список совпадений;
  CTRL-L                 Дополнить слово длиннейшим однозначным вар-то.
* history [/] 
  <Up> <Down>
  CTRL-{P|N}             В отличие от up down, не учитывает префикс.
* :q                     Command line window.
* gQ                     Ex mode, похож на cmd mode, но многокомандный.
* :!{cmd}                Выполнить внешнюю команду.
* :shell
#----------------- Отмена изменений -------------------------------------------
* u U                    Отмена посл-го/всех изм-ий в пос-ей редакт-мой строке;
  CTRL-R                 Отмена отмены; Проходят по активной ветке.
* g- g+                  К более ранней/поздней версии текста, активность ветки
                         неважна.
* :undolist              Показать листья в дереве изменений.
* :undo 2                Перейти на ветку с номером 2.
* :earlier 1f            Переход к версиям файла, которые были на момент
  :later 1f              сохранения; Необязательно на 1 шаг.
* :earlier 10{s|m|h|d}   Переход к версии файла в указанный момент.
* :later 1m  
#----------------- Разное -----------------------------------------------------
* q{reg} ... q           Записать макрос в reg (REG - добавить);
  @reg @@                Выполнить макрос/повторить.
* .                      Повторить последюю редактирующую команду.
* :{range}!cmd           Выполнить внешнюю команду над диапазоном.
  !{motion}cmd
* {vis block} {A|I|c|C|  + выделение строк блока через $.
  ~|u|U|r|<|>}
* text-objects           На месте {pos} и виз-ом реж-ме. :h text-objects.
* !{motion}{program}     Пропустить блок через внешнюю команду.
* v V CTRL-V             Визуальный режим/визуальная строка/виз-ый блок;
  v_o v_O                Смена угла;
  gv                     Перевыделить.
* CTRL-G                 Инфа о местоположении.
  g CTRL-G
* gq                     Форматировать текст (ширина строк, set textwidt).
* i_CTRL-{U|W}           Удалить слово слева/всё слева кроме отступа.
* i_CTRL-O               insert normal mode.
* CTRL-H                 Backspace.
* CTRL-I                 Tab.
* CTRL-[                 Esc.
* "* "+                  Primary selection/clipboard.
* :options
* :set {option}&         Вернуть значение по умолчанию.
* :set [no]number        Номера строк.
* :set [no]ruler
* :set textwidth
* :set viminfo
  :wviminfo! fnm         Перекинуть инфу между разными
  :rviminfo! fnm         vim экземплярами.
* :set sessionoptions
  :mksession f.vim       Сохранить/
  :source f.vim          загрузить сессию.
* :mkview :loadview      Как сессия, но для одного окна.
* Modelines              Установка опций для файла (спец строка в файле).
* :edit .                Открыть netrw file browser.
* :pwd :cd :cd -
  :lcd :tcd              Локальная директория окна/вкладки.
* vim -b datafile        Hex редактор; -b запрещает потенциальные
  :%!xxd :%!xxd -r       автокорректировки.
* :{i|c}abbrev           Создание аббревиатур.
  :abbreviate
* :argdo :windo :bufdo   Выполнить cmd на всех файлах-аргумента/окнах/буферах.
#----------------- Справка ----------------------------------------------------
* K                      Найти man для слова под курсором.
* :helgrep               Поиск по справке.
  :cnext :copen
* :help langmap
* :help ft-<filetype>-<functionality>    Пример: help ft-c-syntax.

 

pavlick
()

DoubleContact 0.2.0

Новости — Open Source
DoubleContact 0.2.0
Группа Open Source

После ряда минорных версий вышло новое значительное обновление DoubleContact — автономного и независимого от DE редактора контактов, преимущественно ориентированного на редактирование, сравнение и слияние телефонных книг.

Основные изменения по сравнению с версией 0.1:

  • поддержка формата CSV (в настоящий момент поддерживаются файлы от некоторых телефонов Explay, а также универсальный профиль, позволяющий сохранить всю информацию о контакте);
  • поддержка чтения файлов NBF и NBU (файлы резервных копий Nokia);
  • частичная поддержка vCard 4.0;
  • жёсткая сортировка адресной книги (для сохранения и генерации отчётов);
  • вывод отчёта по адресной книге в формате HTML;
  • добавлено большое количество поддерживаемых тегов vCard (в том числе нестандартных) и столбцов для отображения;
  • возможность настройки внешнего вида таблиц контактов (шрифты, цвета, рамки);
  • исправлен ряд ошибок;
  • добавлены переводы: голландский, немецкий, норвежский (букмол), украинский;
  • лицензия обновлена до GPLv3 или выше.

Это только наиболее интересные изменения. Полные чейнджлоги доступны на Github на русском и английском языках.

Программа написана на языке C++ с применением библиотек Qt 4/5.

Автор выражает благодарности всем, кто помогал в работе над программой, в том числе Kroz, cheshire_cat, bodqhrohro_promo и конечно, анонимусу.

Полноценная поддержка работы с сетевыми ресурсами (CardDAV, Google Contacts) запланирована на версию 0.3.0. В настоящий момент реализовано экспериментальное чтение адресных книг по протоколу CardDAV (проверено на ownCloud и Nextcloud), по умолчанию отключённое при сборке программы.

Руководство пользователя

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

Скриншоты

Исходники на GitHub

>>> Подробности

 , , ,

hobbit
()

Руководство по LibreOffice 6 переведено на русский язык

Новости — Офисные приложения
Группа Офисные приложения

Сообщество разработки LibreOffice — The Document Foundation сообщило о переводе на русский язык руководства по работе в LibreOffice 6 (Getting started guide).
Руководство перевели: Валерий Гончарук, Александр Денкин и Роман Кузнецов.

Документ в формате PDF содержит 470 страниц и распространяется под лицензиями GPLv3+ и Creative Commons Attribution 4.0 (CC BY).

Скачать руководство можно здесь.

>>> Источник

 

Satori
()

The Fuck

Новости — Open Source
Группа Open Source

Да-да, вы не ослышались. Именно так - the fuck - называется эта консольная утилита, сырцы которой можно найти на гитхаб.

Эта волшебная утилита делает одну очень полезную работу - исправляет ошибки в последней выполненной команде в консоли.

Примеры

➜ apt-get install vim
E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied)
E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?

➜ fuck
sudo apt-get install vim [enter/↑/↓/ctrl+c]
[sudo] password for nvbn:
Reading package lists... Done
...

или так

➜ git push
fatal: The current branch master has no upstream branch.
To push the current branch and set the remote as upstream, use

    git push --set-upstream origin master


➜ fuck
git push --set-upstream origin master [enter/↑/↓/ctrl+c]
Counting objects: 9, done.
...

Требования

  • python (3.4+)
  • pip
  • python-dev

Установка

OS X

brew install thefuck

Ubuntu / Mint

sudo apt update
sudo apt install python3-dev python3-pip python3-setuptools
sudo pip3 install thefuck

FreeBSD

pkg install thefuck

ChromeOS

crew install thefuck

На других системах

С помощью pip

pip install thefuck

Полезные опции

Для работы без запросов на подтверждения

fuck --yeah

Для выполнения рекурсивно до достижения результата

fuck -r

>>> Подробности

 , , , thefuck,

bvn13
()

Концепция портативного роутера/модема

Форум — Talks

Многоуважаемый all,

с тех пор как я вкусил все прелести штатовского lte и ещё более ужасного 3G, я стал задумываться о девайсе который умел бы следущее:

- размеры - не более 3.5 HDD с батареей (вынимаемой). Соотвественно бесперебойная работа от батареи при отключении БП.

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

- 1-2 слота под SIM, умение работать как GSM gateway, модем, WIFI hotspot а также repeater.

- более «сильный» по сравнению со средним смартфоном радио модуль, возможность подключения антенны в случае установки в машине или стационарно. Соответственно нормальный/свободный софт внутри, никаких виндоус админок и возможность обойтись без веб админок, возможность установить свой софт и тд.

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

- желательно, возможность управлять GSM модулями, желательно cell radio kill switch, но чтобы WIFI продолжал работать.

- Желательно возможность вывести ethernet порты хоть и черз адаптер для организации проводного uplink и организации балансировки между mobile/ethernet ISP

- опционально умение быть power bank'ом для телефона.


Я видел похожие по форм фактору девайсы от Huawei, но там по-моему их проприетарный Android или что-то такое.

В стационарном исполнении я могу собрать такую штуку из отдельных компонентов (raspberry pi, mikrotik, gsm модуль и тд и тп)

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


Или создавать проект на краудфандиговых сайтах? :)

 , ,

Den0k
()

Origin

Форум — Games

Дарю инструкцию для интересующихся:

$ mkdir -p ${HOME}/Origin

В директории Origin создаём файл hchmod.c с содержимым:

#include <dlfcn.h>
#include <sys/stat.h>
#include <unistd.h>

int (*mkdir_real)(const char *pathname, mode_t mode) = NULL;
int (*chmod_real)(const char *pathname, mode_t mode) = NULL;
int (*fchmod_real)(int fd, mode_t mode) = NULL;

int mkdir(const char *pathname, mode_t mode){
  if ( mkdir_real == NULL ){
        mkdir_real = dlsym(RTLD_NEXT,"mkdir");
  }
return (mkdir_real(pathname, mode | S_IWUSR ));
}

int chmod(const char *pathname, mode_t mode){
  if ( chmod_real == NULL ){
        chmod_real = dlsym(RTLD_NEXT,"chmod");
  }
return (chmod_real(pathname, mode | S_IWUSR ));
}

int fchmod(int fd, mode_t mode){
  if ( fchmod_real == NULL ){
        fchmod_real = dlsym(RTLD_NEXT,"fchmod");
  }
return (fchmod_real(fd, mode | S_IWUSR ));
}
Собираем:
$ cd ${HOME}/Origin
$ gcc -shared -fPIC -D_GNU_SOURCE -o hchmod.so hchmod.c -ldl
Если вы уже безуспешно пытались установить Origin, то надо поправить права на папку:
$ chmod 755 "${HOME}/.wine/drive_c/Program Files (x86)/Origin"
или удалить её:
$ rm -R "${HOME}/.wine/drive_c/Program Files (x86)/Origin"
Качаем и устанавливаем Origin
$ wget https://download.dm.origin.com/origin/live/OriginSetup.exe
...
$ export LD_PRELOAD=${HOME}/Origin/hchmod.so 
$ wine OriginSetup.exe

Upd.: когда-то была ошибка входа, помогало это:

$ export LC_TIME=en_US.UTF-8
$ cd "$HOME/.wine/drive_c/Program Files (x86)/Origin/" 
$ wine Origin.exe

 , , , ,

superuser
()

Готовые сборки Wine

Форум — General

Доступные сборки:

  • TkG - сборки, включающие в себя Staging патчсет, а также дополнительные патчи (в основном для улучшения производительности в играх).
  • Proton - сборки, собранные из исходников с репозитория ValveSoftware. По сути, это тот же Proton из Steam, только не требующий Steam Runtime для работы.
  • Staging - сборки с примененным Staging патчсетом. Содержат большое количество патчей, которых нет в обычном Wine.
  • Vanilla - обычный Wine из исходников с WineHQ, без каких-либо дополнительных патчей. В том числе есть Stable версии (2.0.x, 3.0.x, 4.0.x и т.д.).
  • Wayland - сборки с патчами для работы на Wayland (только для него, с Xorg они не работают совсем). Имеют много ограничений, в том числе OpenGL не работает, работает только Vulkan. Рекомендую прочитать страницу проекта wine-wayland, там об этом написано.

Доступные архитектуры:

  • amd64 - для 64-битных систем. Можно запускать и 64-битные, и 32-битные приложения.
  • amd64-nomultilib - для 64-битных систем. Можно запускать только 64-битные приложения. 32-битные зависимости не требуются.
  • x86 - для 32-битных систем. Можно запускать только 32-битные приложения.

Для работы сборок нужен как минимум GLIBC 2.27. Скрипт, которым я компилирую Wine, а также актуальная информация о сборках (опции компилирования, применяемые патчи и прочее), доступны на GitHub. Обновляю по мере возможности.

Старые сборки (4.11 и старее) требуют как минимум GLIBC 2.23.

Как использовать эти сборки? Просто распакуйте в домашний каталог (или в /opt) и указывайте путь до бинарника wine при запуске приложений. Например:

/home/user/wine-4.0-amd64/bin/wine someapp.exe
В системе должны быть установлены необходимые библиотеки, иначе Wine не будет работать или не сможет запустить многие приложения.

Ссылки на скачивание:

Если вам нужны сборки со встроенными библиотеками, взгляните на другой мой проект: https://github.com/Kron4ek/wine-portable-executable

 

Kron4ek
()

Запретить процессу использовать swap

Форум — Admin

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

 

Serbis
()

Очень гибкий скрипт для сборки Wine

Форум — General

Нашел очень гибкий скрипт для сборки Wine. Он позволяет собрать любую версию (любой коммит из master-ветки или вообще старую версию, если есть такая потребность) и по выбору включить или отключить различные наборы патчей (staging, esync, pba и т.д). Также можно включить в сборку единичные фиксы к некоторым играм (например, к Path of Exile, World of Warcraft, различным частям The Sims). Можно еще включить в сборку свои собственные патчи, если у вас такие есть. Все это задается в очень удобном конфигурационном файле.
К сожалению, скрипт только для арчеводов (очень навороченный PKGBUILD). Впрочем, для пользователей Ubuntu тоже есть вариант через докер (работает это или нет, не знаю, да и инструкцию я проглядел мельком).
Мопед скрипт не мой! Я его просто нашел сегодня утром и восхитился его гибкостью. Думаю, он будет полезным и другим, поэтому делюсь.

https://github.com/Tk-Glitch/PKGBUILDS/tree/master/wine-tkg-git

 ,

Rinaldus
()

Аналог victoria (тест поверхности HDD,SSD) под Linux, существует ли?

Форум — Admin

нужно прочекать диск, smart статистика не хорошая.
киньте ссылку на инструмент аналогичный victoria

 ,

Vlad-76
()