LINUX.ORG.RU

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

Как сделать годную тему подсветки синтаксиса самому?

Форум — Desktop

Такое дело. Хочу хорошую цветовую тему для емакса. Перебрал кучу готовых, но все не по душе мне. Остаётся вариант делать самому. Но как? Простым экспериментированием не получается - слишком уж много вариантов нужно перебрать, и не очевидно сразу какой цвет с каким нормально смотрится, а какой нет. Нужен научный подход, в общем. Стал гуглить, нашёл только туториал на w3schools https://www.w3schools.com/colors/default.asp

Там есть пять подходов для определения базовых цветов темы (монохромный, аналоги, противоположные, triadic, compound). Но совершенно не раскрывается какой из них правильный, а какой нет. Хотя казалось бы, блин, методы аналогичных цветов и противоположных в корне отличаются!

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

ПС. Слышал, что соларайзед - мол самая научно-обоснованная тема, но как по мне её темная версия - очень вырвиглазна. :(

Перемещено shell-script из talks

 

provaton
()

red hat virtio scsi disk device windows guest

Форум — Admin

Привет ЛОР! Прошу поделитесь опытом, как у вас работает Windows 10 в quemu/kvm.
Есть у меня lvm том. Устанавливаю туда Windows 10. Драйвер диска выбираю virtio. Windows устанавливается, драйвер работает, диск работает.
Но по впечатлениям, работает медленнее, чем драйвер sata.
Том lvm на ssd диске.

 , ,

SergeyF
()

Чем сейчас модно, молодёжно энергосбережением ноута управлять?

Форум — Desktop

Собственно сабж. В основных репах Arch есть TLP. В AUR валяется Laptop Mode Tools. Мне нужно чтобы как для домохозяйки - вытащил вилку из розетки и оно само там энергосберегается. Я не хочу руками в TLP переключать режимы. Хочу чтобы мой гномоарч работал на меня, а не я на него. Посоветуйте или man'ами покидайтесь хотя бы.

Перемещено leave из talks

 , , , ,

Promusik
()

Отключение всех заплаток ядра разом (Meltdown, Spectre, L1TF, MDS)

Форум — Talks

Может кому интересно. В актуальные ядра (5.1.2, 5.0.16, 4.19.43, 4.14.119, 4.9.176) добавили параметр для отключения всех заплаток разом.

mitigations=off

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

 , , , ,

Kron4ek
()

Виртуализация на десктопе истории узбехов...

Форум — Talks

в студию.

Товарищ @Zhbert уже делился, хотелось бы больше историй.

 , , ,

pon4ik
()

python запуск команды в терминале.

Форум — Development

Решил я переписать для тренировки и изучения питона кучу баш скриптов в питон.

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

В связи с этим я решил, что почти все команды буду запускать саб процессом из питона.

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

os.system - не отлавливает ошибки subprocess.check_output - не тоже не отдает то ли ошибку,то ли вывод.

Единственное, что более менее работает это

p = Popen(command)
p = Popen(cmd, stdout=subprocess.PIPE,stderr=PIPE,shell=True,
		universal_newlines=True)
	output, error = p.communicate()

но и тут проблемы.

Если я делаю return, то не вижу вывода и должен делать x=function_name(cmd) print(x)

А если я делаю print , то не могу засунуть output в переменную.

В результате у меня родилась уродливая по моему мнению функция, в которую помимо команды я вынужден запихивать метод, корым она мне будет отдавать stdout.

вот она:

def run_command(cmd,output="print",exit_on_error=False):
	p = Popen(cmd, stdout=subprocess.PIPE,stderr=PIPE,shell=True,
		universal_newlines=True)
	o, e = p.communicate()
	if p.returncode != 0:
		if output == "print" : print("%s%s" % (o, e))
		if exit_on_error:
			print("Error. Exit script")
			quit()
		if output == "return": return("%s%s" % (o, e))
	else:
		if output == "return": return("%s%s" % (o, e))
		print("%s%s" % (o, e))

И если я хочу вывод на экран, то

cmd='команда'
run_command(cmd,"print")

А если я хочу вывод в переменную, то

cmd='команда'
x=run_command(cmd,"return")

В если я хочу выйти из скрипта при ошибке, то

run_command(cmd, "print", True)

Тогда как в баше, я получаю вывод в переменную или на экран в зависимости от того просто я запуская команды или запускаю ее в переменную.

Например:

last_remote=$(ssh $backup_ip "/sbin/zfs list -t snapshot -o name | grep "$remote_dataset""@""$type" | sort -r | head -1")

или просто 

$(ssh $backup_ip "/sbin/zfs list -t snapshot -o name | grep "$remote_dataset""@""$type" | sort -r | head -1")

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

Вопрос, вот эта моя уродливая функция: так все мучаются? или есть нормальное решение?

 , , ,

constin
()

Объясните как работать с Docker

Форум — Development

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

Мой стэк — Node.js/Express/TypeScript, MongoDB, RabbitMQ, nginx. Я бы вручную установил ОС, весь стэк, конфигурацию, и общую папку (чтобы не копировать файлы). При необходимости эмулировать продакшн — создал бы ещё один контейнер. Если бы у меня была macOS, то я бы использовал VirtualBox.

Но я до сих пор не понял что мне делать в Docker. Конкретно:

  • Ой. Мой список вопросов закончился :)

Отвеченные вопросы:

  • Мой главный вопрос — что мне вообще делать с вашим докером? Работать как с виртуалкой?
    • Ответ: 1
  • Мне нужно все этапы установки, которые я выполнял при ручном создании контейнера, перенести в Dockerfile/docker-compose?
  • Зачем нужен DockerHub, если можно выбрать ОС и самому установить нужный софт?
    • Ответ: нужно понимать в чём смысл докера, тогда эти вопросы отпадают. Во многих гайдах упускают тот момент, что вы не должны создать единый образ, который содержит всё, а должны все процессы поместить в отдельные контейнеры. Например, приложение на Node.js и сервер MongoDB должны быть в разных контейнерах. В Docker это называется сервисами
  • Я в некоторых Dockerfile видел apt-install — разве это уже не означает, что образ не иммутабелен? Ведь изменится версия библиотеки в репах — изменится и в твоём образе, разве нет?
    • Ответ: 1
  • Я вижу как в очередном Dockerfile пишут FROM php:alpine-666 и чуть ниже RUN apt-install .... Это значит, что используемый образ из DockerHub — Ubuntu-based?
    • Ответ: образы в DockerHub действительно базируются на какой-то ОС. Причём не всегда очевидно на какой.

Спасибо!

 ,

elonmusk
()

Что использовать для сохранения всяческих мануалов?

Форум — General

Вот, бывает ищещь информацию о том как сделать какую-то вещь в интернете, например написать как настроить какой-то сервер, как правильно реализовать какую-то функцию и т.п., находишь, делаешь - все работает. А потом через годик опять надобится то же самое, а уже забыл как делал. Да, можно покопаться в старом коде, но иногда файлов много и точно не помнишь где и вообще в итоговую версию это в тот раз не попало и лежит где-то в старых копиях и попробуй найди. При этом в инете что-то больше с ходу не находится. Потом конечно разбираешься, но времени уходит больше, чем могло бы быть.

Что нужно: какая-нибудь программа или сервис, в которую можно сохранять мануалы. Не просто ссылки, т.к. ссылки порой умирают. И желательно не только текст, т.к., хоть и не часто, но бывает нужно с изображениями. Т.е. хотелось бы хранить копию HTML. Ну, можно, конечно просто завести директорию и браузером сохранять копии, но хотелось что-то более удобное, в виде какой-нибудь программы, где будет список с описаниями, а внутри собственно содержимое.

Лучше если это будет не сервис, а программа (т.к. сервисы не вечны), но при неимении лучшего, можно и сервис. Если программа, то обязательно кроссплатформа, т.к. не всегда за одним и тем же компом. Желательно, чтобы базу можно было хранить одновременно на локалхосте и в облаке, как это, например у KeePass

 

Qwentor
()

Primus-vk — Поддержка Vulkan для Optimus

Новости — Hardware and Drivers
Группа Hardware and Drivers

Неким felixdoerre был разработан primus-vk — прослойки для запуска Vulkan-приложений при использовании Bumblebee для работы с дискретной видеокартой NVidia на ноутбуках.

Что это и зачем?

Если в вашем ноутбуке две видеокарты, одна из которых nVidia с проприетарным драйвером — для запуска приложений на дискретной видеокарте используется Bumblebee. К сожалению, Vulkan-приложения (в т.ч. DXVK) не работают с Bumblebee, а его разработка прекращена, поэтому единственным вариантом запустить Vulkan-приложение на дискретной видеокарте был запуск отдельного X-сервера на nVidia, что было не совсем удобно (необходимость переключения в другой VT и запуска отдельной графической сессии). С помощью primus-vk можно запустить Vulkan-приложения, используя optirun, без необходимости запуска отдельного X-сервера.

Производительность

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

Установка и запуск

Инструкция по сборке и установке доступна хдесь. Для запуска Vulkan-приложения необходимо установить переменную окружения ENABLE_PRIMUS_LAYER=1 и PRIMUS_VK_MULTITHREADING=1. К примеру, для запуска игры в Wine (используя DXVK):

ENABLE_PRIMUS_LAYER=1 PRIMUS_VK_MULTITHREADING=1 optirun wine Game.exe

>>> Репозиторий на Github

 , ,

annerleen
()

Дешёвый VPS под OpenVPN

Форум — Admin

Привет всем. Тема наверно уже сотню раз обсосана, но тем не менее. Нужен самый дешманский VPS какой только в принципе возможен (100 рублей/месяц было бы классно), на котором можно поднять VPN без последствий (бан от хостера). Пока в качестве вариантов рассматриваю Arubacloud, но слышал что там нужно отсылать скан паспорта, чтобы не платить лишнее, и Айхор Хостинг. В общем, жду совета.

 , , ,

Sunderland93
()

Intel GVT-g

Форум — General

Имеется ноут на Intel i5 6440HQ c HD530, хотел бы пощупать виртуализацию gvt-g для запуска гостевой windows 7 с нормальным ускорением для работы с графикой. Обещают что видяха работает почти нативно

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

Где взять kvmgt? Насчет поддержки в ядре, то точно видел эти модуля когда последний раз собирал гентушное ядро. Но неужели в поставляемом арчем и гентой QEMU его нет и единственный выход это грязно компилять из исхдников и ставить через make install?

 , , ,

d-7
()

Как создать GTK3 тему?

Форум — Desktop

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

Короче, придется делать самому. Где найти руководство и инструменты для создания своих GTK3 тем?

Но приветствуются любые ссылки на готовые темы. Основной критерий — контрастный текст.

 ,

Vsevolod-linuxoid
()

Прорекламирую неплохой VPS

Форум — Talks

liteserver.nl держу там VPS-ку для VPN и тор-ноду, скорость хорошая, всё вроде работает. Суть в том, что там есть довольно дешёвый тариф на 256M, убунте хватает. С чернопятничной скидкой (на главной странице в шапке есть код) и годовой проплатой вышло €13,65 или €1.14 в месяц. На мой взгляд довольно хорошая цена, в своё время искал такой сервер.

 

Legioner
()

Способы указания версии ПО

Форум — Development

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

Есть проект, написанный на C++ с использованием системы контроля версий Git и системы сборки CMake.

Я хочу сделать так, чтобы в конечный исполняемый файл «вшивалась» версия этого проекта. При этом я не хочу следить за номером версии.

Принимая во внимание тот факт, что версия в наиболее распространённом случае состоит из набора «подверсий» (major, minor, build...), я бы хотел иметь возможность указывать, какую часть версии инкрементировать.

Я знаю, что в Git используются тэги для указания меток версии. В CMake же есть возможность указания макросов через конфигурационные файлы *.in.

Первый способ не обеспечит мне «вшивание» версии в ПО (я не смогу сделать что-то вроде «myProg --version»). В то же время для использования конфиг файлов Cmake-а я буду вынужден перед изменением версии залазить в CMakeLists.txt и править числа прямо там, что, как по мне, выглядит очень грубо.

Так вот вопрос мой в том, есть ли уже какие-либо готовые решения указания версии ПО?

Спасибо!

 , , ,

AccumPlus
()

Скрипт для выгрузки всех скриншотов linux.org.ru и описания. Локально.

Форум — Talks

Написал на досуге скрипт на python3 для выгрузки локально всех скриншотов галлереи лора с 1999 года.
Решил просто замутить галлерею отдельную с историей таких скриншотов, вдохновился лором, и решил нарабатывать навыки написания кода на python (пишу 2 неделю на нем), до этого писал 6 лет на php.
Весь код открыт, находится на github:

https://github.com/foozzi/linux.org.ru-gallery

Буду рад помощи и вашим доработкам скрипта, вскоре запущу (если администрация разрешит), ресурс с галереей этих скриншотов онлайн.

UPD 07.03.17:
Собственно прислушался к техническим пожеланиям grazor и создал модуль почти полноценный, спасибо остальным за проявленный интерес.

 , , , ,

noname_user
()

Накидайте жёсткого мелодичного металла

Форум — Talks

Чего нибудь по типу такого:

https://www.youtube.com/watch?v=Pa9mCDo6M8s
https://www.youtube.com/watch?v=qnLunQEcMn0
https://www.youtube.com/watch?v=zWgYk3QQAQA

Гитарные запилы по типу тех, что в конце Arch Enemy - Nemesis приветствуются.

 ,

najlus
()

Немного визуализации на desktop

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

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

Ну и только сегодня запилил пакет для аура spectrumyzer, а для всех остальных есть build

видео демка

сорс

>>> Просмотр (1920x1080, 1923 Kb)

 

HaCk3D
()

Neural Doodle превращает рисунки из Paint в художественные шедевры с помощью нейросетей

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

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

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

 , ,

karton1
()

Релиз Emonoda 2.0.9

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

Emonoda — это набор программ для организации и управления коллекцией торрентов. Он поможет вам следить за актуальностью раздач, автоматически обновляя торрент-файлы с популярных в рунете трекеров, а также вычищать старые данные, просматривать мета-информацию и делать множество других вещей. В набор входят такие команды:

  • emupdate — следит за раздачами, используя спецплагины для трекеров; обновляет торрент-файлы при добавлении новых серий или перезаливке раздачи; интегрируется с основными линуксовыми клиентами.
  • emfile — позволяет читать метаданные торрент-файлов и выдает их в человекочитаемом, либо удобном для скриптов формате.
  • emdiff — показывает разницу содержимого двух торрент-файлов в виде диффа.
  • emfind — служит для выполнения различных поисковых запросов, например для поиска в каталоге с данными файлов, не принадлежащих ни одному торренту, зарегистрированному в клиенте.
  • emload — Загружает торрент, создавая полный путь для данных и размещая в указанных местах симлинки.
  • emrm — Удаляет торрент из клиента.

Кроме того, Emonoda включает специализированные скрипты для rTorrent, позволяющие реализовать групповое управление трекерами (включение-отключения для раздач) и отправки статистики в collectd.

Программы написаны на Python 3 (требуется версия >= 3.4) и могут быть установлены из PIP или AUR.

( Список трекеров и клиентов под катом )

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

 , , ,

liksys
()

Удалить то, что было поставленно через python setup.py install

Форум — Desktop

День добрый, ЛОР. Нужно было мне скробблер для рокбокса с CLI, нашел на офф вики scrobblethis, ок, скачал, поставил как советует автор через

python setup.py install
Но чертос-два эта штука не работает, находил похожие сообщения на ланчпаде, но ответа там не было, да и судя по последнему обновлению проект давно заброшен. Но суть: Как мне теперь вынести из системы то, что было поставленно таким вот способом?

 , ,

Jefail
()