LINUX.ORG.RU

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

Чудеса энергосбережения

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

После ручного допиливания ядра и прочих радостей заставил ноутбук потреблять меньше 5W при работе с кодом и чтении комикс^Wдокументации. В итоге получается где-то 12-13 часов работы, что крайне полезно при периодических долгих перелётах в моём случае (розетки в самолётах я пока только в Emirates встречал).

На скриншоте показания powertop, cmus в качестве плеера и notion вместо wm. Ноутбук - Panasonic CF-AX3.

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

 , ,

hateyoufeel
()

вопрос про шейпер

Форум — Admin

Хочу сделать простейший шейпер: Канал у меня 2мегабита(adsl)

BAND="2Mbit"
HIGH_LIMIT="1Mbit"
MAIN_IFACE="enp5s0"

# delete all rules
tc qdisc del dev enp5s0 root

tc qdisc add dev ${MAIN_IFACE} root handle 1: hfsc default 11

# Internet traffic (full MAXIMUM speed)
tc class add dev ${MAIN_IFACE} parent 1:0 classid 1:1 hfsc sc rate ${BAND} ul rate ${BAND}
# Subclasses of Internet traffic
tc class add dev ${MAIN_IFACE} parent 1:1 classid 1:10 hfsc rt rate 1Mbit ls rate ${HIGH_LIMIT}
tc class add dev ${MAIN_IFACE} parent 1:1 classid 1:11 hfsc ls rate 1Mbit

Потом маркирую пакеты:

$IPTABLES -t mangle -A PREROUTING -p tcp -m tcp --sport 443 -j MARK --set-mark 0x1
$IPTABLES -t mangle -A PREROUTING -p tcp -m tcp --sport 443 -j RETURN

$IPTABLES -t mangle -A PREROUTING -p tcp -m tcp --sport 80 -j MARK --set-mark 0x1
$IPTABLES -t mangle -A PREROUTING -p tcp -m tcp --sport 80 -j RETURN

$IPTABLES -t mangle -A PREROUTING -p tcp -m tcp --sport 22 -j MARK --set-mark 0x1
$IPTABLES -t mangle -A PREROUTING -p tcp -m tcp --sport 22 -j RETURN

$IPTABLES -t mangle -A PREROUTING -p tcp -m tcp --sport 10000:65535 -j MARK --set-mark 0x2
$IPTABLES -t mangle -A PREROUTING -p tcp -m tcp --sport 10000:65535 -j RETURN

80, 22, 443 порт маркируется как приоритетный, а с 10000-65535 - Maximum-Cost. Но дело в том, что всё это как мне кажется нифига не работает т.е рторрент начинает качать и браузером невозможно пользоваться - все висит и ничего не работает. Что я делаю не правильно ?

 

bryak
()

uselessd — форк systemd

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

uselessd — попытка урезать systemd до базовых функций: initd, супервайзор процессов, система зависимостей — но без изоляционизма и агрессивной навязчивости (когда комбайн лезет всюду и делает себя незаменимым). Также обеспечивается поддержка платформ без glibc и планируется поддержка ядер отличных от Linux. За основу взят systemd 208.

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

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

Новость на OpenNet

Исходные тексты

>>> Сайт проекта

 , ,

question4
()

Разные dns-сервера в зависимости от домена

Форум — General

Привет! Подскажите, пожалуйста, возможно ли настроить dns-клиент так, чтоб он обращался к разным серверам в зависимости от того, хост какого домена мне нужно найти? То есть, например, домен local я хочу искать на 192.168.0.111, домены ru, com, org - на 8.8.8.8, а все остальное пусть мне возвращает тот dns-сервер, который пришел по dhcp. Такое возможно? Заранее спасибо!

 

alozovskoy
()

RFC HOWTO: автологин в иксовую сессию с помощью systemd

Форум — General

Добрый вечер, господа. Это тред-howto о том, как сделать корректный автологин в иксы «на чистом systemd». В вики мне писать влом, да и никто её не читает, а тут и теги указать можно, и людей скастовать. Собственно, да: border-radius, ecko.

В чём вообще проблема? Проблема в том, что значительное количество людей делают это через банальнейшие костыли, настраивая автологин в текстовую консоль и запуская иксы из bashrc (или, чего хуже, из bash_profile). Это плохо по трём причинам:

  • не залогиниться в другую физическую консоль в текстовом режиме
  • оверхед на проделывание цепочки такого вида:
    systemd
    /bin/agetty
    /bin/login
    PAM
    /bin/bash
    ~/.bashrc
    /bin/startx
    
  • в конце концов, это само по себе костыль.

Я предлагаю написать getty-подобный юнит, который будет запускать иксы от фиксированного пользователя с фиксированным номером дисплея на произвольном VT. (Почему так много хардкода? Потому что systemd — не дисплейный менеджер.)

Это тоже неидеальное решение. Например, нафиг идёт мультисит и возникают гонки между запуском иксов и обнаружением видеоустройств. Но этими недостатками мы пренебрежём.

Параграф один. logind, autovt и getty-подобные юниты. Getty могут запускаться двумя способами.

  • Первый — по требованию, через logind. При переключении на ttyN logind запускает юнит autovt@ttyN.service, который засимлинкен на getty@.service. Эта логика работает для tty2-tty6.
  • Второй — статически. Юнит getty@tty1.service включен по умолчанию и втягивается через getty.target. Это даёт нам всегда запущенный getty на tty1.

Соответственно, допустим, у нас есть юнит xorg@.service, который запускает иксы на указанном VT.
Его нужно либо симлинкнуть под именем autovt@ttyN.service, переопределив шаблонный юнит (тогда при переключении на выбранный VT иксы будут запускаться вместо getty — первый способ), либо отключить getty@tty1.service и включить вместо него xorg@tty1.service (тогда мы вместо всегда запущенного getty будем иметь всегда запущенные иксы — второй способ).

Параграф два. Xorg вместо getty. Итак, имеем юнит для иксов, написанный по аналогии с getty@.service: /etc/systemd/system/xorg@.service.

User=<впишитеюзера>
PAMName=login

-- это аналог su.

Conflicts=getty@%i.service
After=getty@%i.service

-- это некоторая защита от одновременного запуска getty на том же терминале.

StandardOutput=tty
StandardInput=tty-fail

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

ExecStart=/etc/systemd/scripts/startx -D :0

-- это мой велосипед вместо startx с нескучным синтаксисом и exec xinit в конце, что важнее.

Дело в том, что systemd из-за вероятного бага при остановке юнита отправляет SIGTERM/SIGKILL не всем процессам в дереве, начиная с startx, а только самому startx. А поскольку он написан на шелле, то он радостно игнорирует SIGTERM и ждёт завершения xinit, которому никакого сигнала не приходит. Следовательно, проблему решаем переписыванием startx так, чтобы он в конце не запускал xinit подпроцессом, а делал exec xinit, заменяя им собственный процесс. Тогда сигнал приходит xinit'у, а он его корректно ловит и убивает иксы.

Всё остальное скопипащено из getty@.service.

Да, дисплей захардкожен в :0. Пара слов о назначении VT: процесс startx получает номер VT в переменной $XDG_VTNR (её устанавливает pam_systemd), а из startx запускается /etc/X11/xinit/xserverrc, который об этой переменной знает и передаёт X-серверу параметр vt$XDG_VTNR.

Параграф три. Запускаем. Итак, помещаем юнит в /etc/systemd/system/xorg@.service, startx в /etc/systemd/scripts/startx (можно куда угодно) и делаем:

systemctl daemon-reload
systemctl disable getty@tty1
systemctl enable xorg@tty1

После этого можно ребутиться и надеяться, что запустится. Ах да, дисплейный менеджер тоже стоит отключить, потому что он запустит свой X-сервер и произойдёт адъ и израиль.

Как-то так. Сейчас три часа семнадцать минут по московскому времени, поэтому прошу меня извинить за упрт стиль изложения, краткость, неконсистентное использование форматирования и так далее.

 , ,

intelfx
()

Трафик между локальными сетевыми интерфейсами минуя localhost

Форум — Admin

Нужно отлаживать сетевое приложение (клиент + сервер).

Необходимо клиента и сервера забиндить на определенные сетевые интерфейсы.

При этом трафик должен ходить по внешнему маршруту (в текущем случае - кросс). localhost должен быть исключен из роутинга.

Iptables и подобные вещи отключены.

CentOS 7.

Признателен за подсказки.

Спасибо.

 ,

westtrd
()

Обработка файлов с пробелами в именах в цикле

Форум — Desktop

Народ, помогите найти ошибку в скрипте конвертации. Следующий код работает:

ffmpeg -i "Korn - A.D.I.D.A.S..vob" "../Korn - A.D.I.D.A.S..mkv" 

А вот этот нет:

$ {
> find * -print0 | while read -d $'\0' f; do
>    echo "$f"
>    echo "$f" "../$(basename "$f" .vob).mkv"
>    ffmpeg -i "$f" "../$(basename "$f" .vob).mkv"
>    break 
> done
> } 2>&1 | head -n 100
Korn - A.D.I.D.A.S..vob
Korn - A.D.I.D.A.S..vob ../Korn - A.D.I.D.A.S..mkv
ffmpeg version 2.3.3 Copyright (c) 2000-2014 the FFmpeg developers
  built on Aug 17 2014 17:11:34 with gcc 4.9.1 (GCC)
  configuration: --prefix=/usr --disable-debug --disable-static --enable-avisynth --enable-avresample --enable-decoder=atrac3 --enable-decoder=atrac3p --enable-dxva2 --enable-fontconfig --enable-gnutls --enable-gpl --enable-libass --enable-libbluray --enable-libfreetype --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librtmp --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libv4l2 --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libxvid --enable-pic --enable-postproc --enable-runtime-cpudetect --enable-shared --enable-swresample --enable-vdpau --enable-version3 --enable-x11grab
  libavutil      52. 92.100 / 52. 92.100
  libavcodec     55. 69.100 / 55. 69.100
  libavformat    55. 48.100 / 55. 48.100
  libavdevice    55. 13.102 / 55. 13.102
  libavfilter     4. 11.100 /  4. 11.100
  libavresample   1.  3.  0 /  1.  3.  0
  libswscale      2.  6.100 /  2.  6.100
  libswresample   0. 19.100 /  0. 19.100
  libpostproc    52.  3.100 / 52.  3.100
Input #0, mpeg, from 'Korn - A.D.I.D.A.S..vob':
  Duration: 00:02:34.46, start: 299.883611, bitrate: 4203 kb/s
    Stream #0:0[0x1bf]: Data: dvd_nav_packet
    Stream #0:1[0x1e0]: Video: mpeg2video (Main), yuv420p(tv), 352x480 [SAR 20:11 DAR 4:3], max. 6000 kb/s, 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc
    Stream #0:2[0x81]: Audio: ac3, 48000 Hz, 5.1(side), fltp, 448 kb/s
    Stream #0:3[0x80]: Audio: ac3, 48000 Hz, stereo, fltp, 192 kb/s
[libx264 @ 0x2039540] using SAR=20/11
[libx264 @ 0x2039540] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
[libx264 @ 0x2039540] profile High, level 2.1
[libx264 @ 0x2039540] 264 - core 142 r2397M b7a50c1 - H.264/MPEG-4 AVC codec - Copyleft 2003-2014 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=6 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, matroska, to '../Korn - A.D.I.D.A.S..mkv':                                                                                                              
  Metadata:                                                                                                                                                        
    encoder         : Lavf55.48.100                                                                                                                                
    Stream #0:0: Video: h264 (libx264) (H264 / 0x34363248), yuv420p, 352x480 [SAR 20:11 DAR 4:3], q=-1--1, 29.97 fps, 1k tbn, 29.97 tbc                            
    Metadata:                                                                                                                                                      
      encoder         : Lavc55.69.100 libx264
    Stream #0:1: Audio: vorbis (libvorbis) (oV[0][0] / 0x566F), 48000 Hz, 5.1(side), fltp
    Metadata:
      encoder         : Lavc55.69.100 libvorbis
Stream mapping:
  Stream #0:1 -> #0:0 (mpeg2video (native) -> h264 (libx264))
  Stream #0:2 -> #0:1 (ac3 (native) -> vorbis (libvorbis))
Press [q] to stop, [?] for help
[ac3 @ 0x1d114e0] frame sync error
Error while decoding stream #0:2: Invalid data found when processing input
[libvorbis @ 0x203a440] Queue input is backward in time
[matroska @ 0x1d11e00] Non-monotonous DTS in output stream 0:1; previous: 49, current: 39; changing to 49. This may result in incorrect timestamps in the output file.
stream #1:7 fps=0.0 q=29.0 size=     327kB time=00:00:03.69 bitrate= 725.0kbits/s    
  keyframe=1
  duration=0.033
  dts=326.726  pts=326.827
  size=80008
[libx264 @ 0x2039540] frame= 750 QP=25.14 NAL=2 Slice:P Poc:58  I:14   P:375  SKIP:271  size=2042 bytes
[matroska @ 0x1d11e00] Writing block at offset 3525046, size 677, pts 25063, dts 25063, duration 21, flags 128
[matroska @ 0x1d11e00] Writing block at offset 3525730, size 670, pts 25084, dts 25084, duration 21, flags 128
[matroska @ 0x1d11e00] Writing block at offset 3526407, size 2042, pts 25158, dts 25092, duration 33, flags 0
stream #1:
  keyframe=0
  duration=0.033
  dts=326.760  pts=326.760
  size=9536
[libx264 @ 0x2039540] frame= 751 QP=24.67 NAL=2 Slice:P Poc:62  I:40   P:410  SKIP:210  size=6337 bytes
[matroska @ 0x1d11e00] Writing block at offset 3528456, size 712, pts 25105, dts 25105, duration 21, flags 128
[matroska @ 0x1d11e00] Writing block at offset 3529175, size 6337, pts 25225, dts 25125, duration 33, flags 0
stream #2:
  keyframe=1
  duration=0.032
  dts=326.636  pts=326.636
  size=1792
stream #1:
  keyframe=0
  duration=0.033
  dts=326.793  pts=326.793
  size=8664
[libx264 @ 0x2039540] frame= 752 QP=26.53 NAL=0 Slice:B Poc:60  I:1    P:242  SKIP:395  size=1208 bytes
[matroska @ 0x1d11e00] Writing block at offset 3535519, size 127, pts 25127, dts 25127, duration 12, flags 128
[matroska @ 0x1d11e00] Writing block at offset 3535653, size 176, pts 25139, dts 25139, duration 3, flags 128
[matroska @ 0x1d11e00] Writing block at offset 3535836, size 149, pts 25141, dts 25141, duration 3, flags 128
[matroska @ 0x1d11e00] Writing block at offset 3535992, size 162, pts 25144, dts 25144, duration 3, flags 128
[matroska @ 0x1d11e00] Writing block at offset 3536161, size 169, pts 25147, dts 25147, duration 3, flags 128
[matroska @ 0x1d11e00] Writing block at offset 3536337, size 181, pts 25149, dts 25149, duration 3, flags 128
[matroska @ 0x1d11e00] Writing block at offset 3536525, size 710, pts 25152, dts 25152, duration 12, flags 128
[matroska @ 0x1d11e00] Writing block at offset 3537242, size 1208, pts 25192, dts 25158, duration 33, flags 0
stream #1:

Потом туча таких же сообщений и останов на строке:

  duration=0.032
  dts=330.828  pts=330.828
  size=1792
stream #2:
  keyframe=1
  duration=0.032
  dts=330.860  pts=330.860
  size=1792
stream #2:
  keyframe=1
  duration=0.032
  dts=330.892  pts=330.892
  size=1792

Enter command: <target>|all <time>|-1 <command>[ <argument>]

 

omegatype
()

ext2 для usb-flash: отключить unix-style permissions

Форум — General

собственно, вопрос из-за совершенно дурацкого поиска по лору. Помнится, был когда-то здесь озвучен совет, как заставить ext2 мимикрировать vfat в плане отсутствия прав доступа на файлы, что очень удобно для всяких внешних флеш-дисков.

Помогите вспомнить, пожалуйста ))

 , ,

demidrol
()

Управление QoS для приложений

Форум — Desktop

После дауншифтинга остро встала проблема приоритетов соединений. Для мониторинга использую nethogs, но он умеет лишь в отображение скоростей. Например, Iceweasel выступает омежкой и не хочет отжимать долю соединения у других процессов, вследствие чего наблюдается тонна бесконечно загружаемых вкладок. (Кстати, повторяю вопрос о браузерном расширении — мониторе соединений, как в Safari; не помню, задавал ли я его на ЛОРе). Что характерно, в нём есть параметр network.http.qos, но не похоже, что он на что-то влияет. Также регулярно наблюдается ситуация, когда одно приложение (например, wget) отжирает весь канал. Нашёл тред на SU, но там упоминаются лишь широкоспециализированный и мутный tc и ограничитель скорости trickle. Нет ли чего попроще конкретно для гибкого руления приоритетами по pid?

 , , , ,

MiniRoboDancer
()

fbcon и initramfs

Форум — Mobile

Пилю kexec ядро для смарта. Делаю из вполне рабочего ядра. Без initramfs ядро стартует и ругается на отсутствие rootfs, что логично. Всё это можно лицезреть на экране. Врубаю туда initramfs (не initrd!). Ядро перестаёт отображать консоль, но перезагружает смарт по таймауту kernel panic. Что ему может быть надо? Мне нужно создать рамдиск с двумя бинарниками: init и kexec. BusyBox пихать не охота, т.к. размер ядра сильно ограничен.

 

WOLF
()

samba 4.1.9 оторвать авторизацию

Форум — Admin

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

[global]
netbios name = router
read raw = no
write raw = no
socket options = TCP_NODELAY
debug level = 2
os level = 255
; auto services = global
hosts allow = 192.168.123. 127.
interfaces = 192.168.123.1/24 wlan0

; local master = Yes
; preferred master = Yes
; domain master = No
; domain logons = No
server role = standalone server

# Windows Internet Name Serving Support Section:
# WINS Support - Tells the NMBD component of Samba to enable it's WINS Server
wins support = yes

# WINS Server - Tells the NMBD components of Samba to be a WINS Client
# Note: Samba can be either a WINS Server, or a WINS Client, but NOT both
# wins server = 127.0.0.1

security = user
map to guest = bad user
guest account = nobody
wins support = true
preload = global
usershare allow guests = No

[hdd]
comment = stuff
path = /mnt/hdd
public = yes
only guest = yes
writable = yes
printable = no
browseable = yes

Вот кусочек лога:

[2014/08/17 12:45:37.874068, 2] ../source3/auth/auth.c:288(auth_check_ntlm_password) check_ntlm_password: Authentication for user [anonymous] -> [anonymous] FAILED with error NT_STATUS_NO_SUCH_USER
[2014/08/17 12:45:37.969641, 2] ../source3/smbd/service.c:856(make_connection_snum) router (ipv4:192.168.123.1:36333) connect to service hdd initially as user nobody (uid=65534, gid=65533) (pid 2822)
[2014/08/17 12:45:53.830135, 2] ../source3/smbd/server.c:440(remove_child_pid)
Could not find child 2828 — ignoring

Может уже плюнуть на кошерность 4 версии и собрать из исходников 3 версию самбы же?

everest2014
()

Один экземпляр python-daemon

Форум — Development

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

Для демонизации использую python-daemon из PEP-3143. В общем случае, демон выглядит так:

# -*- coding: utf-8 -*-
import os
import daemon
import time

PIDFILE='/tmp/foo.pid'

class App():
    def __init__(self):
        self.stdin_path = '/dev/null'
        self.stdout_path = '/dev/tty'
        self.stderr_path = '/dev/tty'
        self.pidfile_path =  PIDFILE
        self.pidfile_timeout = 5
    def run(self):
        while True:
            print "test..."
            time.sleep(10)

    
app = App()
daemon_runner = runner.DaemonRunner(app)
daemon_runner.do_action()

Но, несмотря на pid-файл второй демон запускается спокойно.

Самое простое что пришло в голову - проверять os.path.exists(PIDFILE), а потом try os.kill(pidfile.read_pid(), 0) и ловить except OSError

Но, выглядит как-то костылевато.

Когда гуглил, нашел функцию http://www.thecodingforums.com/threads/single-instance-daemons.644188/

def single_instance(id):
    sock = socket.socket(socket.AF_UNIX, socket.SOCK_DGRAM)
    sock.bind('\0' + id)
    return sock

Но, ума не приложу как ей пользоваться, она у меня валится на sock.bind

Еще я нашел такую проверку (средствами самого python-daemon):

pidfile = daemon.pidfile.TimeoutPIDLockFile("/tmp/mydaemon.pid", -1)
if daemon.runner.is_pidfile_stale(pidfile):
Но она вообще непонятно как работает - файл /tmp/mydaemon.pid не создается и is_pidfile_stale всегда возвращает false.

Как правильно ограничивать количество копий процесса? Можете просто ткнуть в доки или бросить ссылкой.

 ,

JANB
()

Нечеловеческие языки

Форум — Development

Объекты/методы и функции - это всем интутивно понятно.

Поделитесь языками, в которых базовые конструкции абсолютно неинтуитивные и чуждые человеческому мышлению? Можете на пальцах рассказать, что они значат?

Какая самая сложная базовая конструкция, идея или принцип, с которым вы встречались на уровне кодинга? (имеется в виду не физика черных дыр, а сам процесс кодирования компьютерной программы)

(возможно этой теме место в толксах)

 

stevejobs
()

Аппаратное кодирование с помощью не активной видеокарты

Форум — Linux-hardware

Всем привет. Я решил попробовать аппаратное кодирование в H264 с помощью VAAPI. У меня Optimus: Intel HD 4000 и NVIDIA GeForce 650M. Установил gstreamer-devel из репозитория и gstreamer-vaapi вручную. Пробую кодировать:

$ LD_LIBRARY_PATH=/usr/local/lib64 LIBVA_DRIVER_NAME=i965 gst-launch-1.0 -f ximagesrc use-damage=0 ! videoconvert ! video/x-raw,format=NV12,framerate=24/1 ! vaapiencode_h264 ! progressreport ! avimux ! filesink location=/media/disk-1/desktop/test.avi
Установка конвейера в состояние PAUSED…
libva info: VA-API version 0.34.0
libva info: va_getDriverName() returns 0
libva info: User requested driver 'i965'
libva info: Trying to open /usr/lib64/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_0_34
gst-launch-1.0: intel_driver.c:80: intel_driver_init: Проверочное утверждение «(((struct drm_state *)(ctx)->drm_state)->auth_type == (VA_DRM_AUTH_DRI1)) || (((struct drm_state *)(ctx)->drm_state)->auth_type == (VA_DRM_AUTH_DRI2)) || (((struct drm_state *)(ctx)->drm_state)->auth_type == (VA_DRM_AUTH_CUSTOM))» не выполнено.
Аварийный останов
$ LIBVA_DRIVER_NAME=i965 h264encode


INPUT:Try to encode H264...
INPUT: RateControl  : VBR
INPUT: Resolution   : 176x144, 60 frames
INPUT: FrameRate    : 30
INPUT: Bitrate      : 182476
INPUT: Slieces      : 1
INPUT: IntraPeriod  : 30
INPUT: IDRPeriod    : 60
INPUT: IpPeriod     : 1
INPUT: Initial QP   : 26
INPUT: Min QP       : 0
INPUT: Source YUV   : AUTO generated
INPUT: Coded Clip   : /tmp/test.264
INPUT: Rec   Clip   : Not save reconstructed frame


libva info: VA-API version 0.34.0
libva info: va_getDriverName() returns 0
libva info: User requested driver 'i965'
libva info: Trying to open /usr/lib64/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_0_34
h264encode: intel_driver.c:80: intel_driver_init: Assertion `(((struct drm_state *)(ctx)->drm_state)->auth_type == (VA_DRM_AUTH_DRI1)) || (((struct drm_state *)(ctx)->drm_state)->auth_type == (VA_DRM_AUTH_DRI2)) || (((struct drm_state *)(ctx)->drm_state)->auth_type == (VA_DRM_AUTH_CUSTOM))' failed.
Аварийный останов

А это обязательно - поднять иксы на видеокарте, на которой будет осуществляться кодирование? Просто когда на NVIDIA не подняты иксы, CUDA спокойно работает. На Intel сейчас работает драйвер modesetting вместо intel, я думаю многие узнали в моей конфигурации официальный Optimus от NVIDIA. Неужели придётся менять его на Bumblebee?

 ,

ZenitharChampion
()

Чего это Xorg жрёт столько процессорного времени?

Форум — General

Компилим и запускаем этот код на одном терминале:

#include <stdio.h>
int main()
{
    while(1) printf("123456789012345678901234567890123456789012345678901234567890\n");
    return 0;
}
gcc test.c -o t && ./t
Смотрим результат на другом:
user@house:~/tmp$ top

top - 12:08:59 up 1 day,  2:01,  6 users,  load average: 0,35, 0,77, 1,67
Tasks: 154 total,   2 running, 152 sleeping,   0 stopped,   0 zombie
%Cpu(s): 32,9 us, 17,1 sy,  0,0 ni, 49,8 id,  0,2 wa,  0,0 hi,  0,0 si,  0,0 st
KiB Mem:   1026636 total,   675240 used,   351396 free,    12456 buffers
KiB Swap:  1046524 total,   257288 used,   789236 free,   272288 cached

  PID USER      PR  NI  VIRT  RES  SHR S  %CPU %MEM    TIME+  COMMAND                                                                                                           
  966 root      20   0  182m  69m 6720 R  77,4  7,0  82:00.44 Xorg                                                                                                              
24118 user    20   0  119m 4872 3008 S  12,6  0,5   0:44.14 xfce4-terminal                                                                                                    
 1748 user    20   0  122m 9640 5016 S   2,7  0,9   2:17.45 xfce4-panel                                                                                                       
 4484 user    20   0  768m 207m 7652 S   2,7 20,7  26:43.86 firefox                                                                                                           
 1746 user    20   0  112m 4036 2684 S   1,7  0,4   2:50.48 xfwm4

 

nerdogeek
()

Хочу освоить vim

Форум — General

Помогите освоить vim. Как лучше и быстрее его освоить? Что посоветуете?

 ,

int13h
()

Новые приключения моего XMonad

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

Снова перекрасил рабочее окружение. Относительно предыдущего скриншота, за исключением цветов, отличия небольшие: увеличилось количество информации на панели, climm сменил finch в качестве xmpp-клиента, Chromium был заменён на Firefox с Vimperator и Blank Your Monitor + Easy Reading (за последний спасибо zh_v68). Курсор прячет unclutter.
На скриншотах:

  • xmonad + xmobar
  • urxvt, tmux
  • vim, vifm, ncmpcpp

Ш: Pragmata, Tewi
Обои утащил с девиантарта.

Ещё скриншоты: [1], [2], [3]
Да, конфиги и скрипты для панели тут.

>>> Просмотр (1366x768, 902 Kb)

 ,

mathcrosp
()

nDPI как замена l7filter

Форум — General

Если кому интересно, то вот рецепт

На большом потоке ( >300мбит/с ) c большим числом протоколов (>20) используется примерно 40% одного ядра Intel(R) Xeon(R) CPU E31230@3.20GHz. Если поток больше или процессор слабее, то включаем RPS или используем сетевые карты с multi-queue и irq-affinity :)

Требуется много памяти. На каждое соединение расходуется примерно 800+264*0.7 байт.

Исходники теперь есть на https://github.com/vel21ripn/nDPI/tree/netfilter

 ,

vel
()

Что посоветуете на сервак средней фирмы

Форум — Admin

Добрый день. Собираюсь настраивать сервак для одной конторы (примерно 150 человек). Из задач, которые будут на нём висеть: samba-файлопомойка, LAMP для внутренней crm, раздача интернета. Соответсвенно хочу раскидать это по контейнерам/виртуалкам. Куплен сервак и 4 винта по 4ТБ. Хотелось бы debian в основе, т.к. лучше всего его знаю.

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

По виртуализации у меня следующие идеи:
1) proxmox + openvz
2) debian + openvz + ovz panel
3) debian + lxc
4) debian + docker
5) debian + kvm

Особой изоляции не надо, т.к. рулить будут этим всем будут доверенные лица.

По хранению идеи:
1) mdadm raid + lvm (6 или лучше 10?)
2) mdadm raid + один раздел ext4, виртуалки хранить в файлах
3) zfs
4) корень на ext4 на нескольких винтах через mdadm зеркало (для системы) + всё остальное на zfs

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

P.S. Да, я понимаю, что docker и zfs для линукса выглядят по-пионерски в продакшене. Но хочется услышать более-менее обоснованные советы, а не в духе (docker не нужен)

 , , ,

xorik
()

i3, numix, v0.3

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

Итак, тема Numix перепилена, конфиги i3 тоже, но самое главное - изменена тема саблайма (оригинальная - Spacegray), чтобы вписывалась.

В итоге - полная плоскота.

Панелька i3bar была перенесана наверх и теперь всегда видна.

На скриншоте 2 монитора - сверху самблайм, снизу пустой раб. стол.

И да, коньки тоже перепилены.

>>> Просмотр (1360x1536, 175 Kb)

 ,

Deleted
()