LINUX.ORG.RU

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

Фантастика

Форум — Talks

Навеяно современным сиквелом «Бегущий по лезвию», а также оригиналом, который пришлость пересмотреть. Очень напомнило роман одного из фантастов моего детства (Роберт Хайнлайн?), но не могу вспомнить ни название, ни автора.

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

 

Dendy
()

Виртуальный монитор заглушка

Форум — Linux-hardware

Доброго дня. И так. Есть задача гнать видеокарты через SSH.
Сейчас делаю это таким образом:

DISPLAY=:0 XAUTHORITY=/var/run/lightdm/root/:0 /usr/bin/nvidia-settings -a [gpu:0]/GPUPowerMizerMode=1 -a [gpu:0]/GPUMemoryTransferRateOffset[3]=900 -a [gpu:0]/GPUGraphicsClockOffset[3]=20

В таком виде всё прекрасно работает. Гонится на всех видеокартах, при корректно настроенном xorg.conf c указанием coolbits.

Всё бы было прекрасно если бы не одно но: ОБЯЗАТЕЛЬНО в 0вой GPU должен быть воткнут монитор. Если монитора нет - nvidia-settings говорит

WARNING **: Could not open X display
ну и так далее, понятно по тексту.

Но нет монитора - X дисплея нет. Нет разгона.

Господа, очень НЕ хочется городить костыль в виде аппаратного переходника HDMI->VGA который является эмулятором монитора по совместительству.

Может что-то не то ищу? Как бы программную затычку ему в конфиг сунуть....

 

gich
()

Защита от случайного выдёргивания запущенной с флешки системы

Форум — General

Привет всем, кто запускает Linux с флешки!

Вы наверняка попадали в ситуации, когда кто-то задевал флешку, с которой работает система, или подключал рядом с USB-жёстким диском требовательный к питанию смартфон, в результате чего устройство на долю секунды теряло питание, сбрасывалось и переподключалось. Система оказывалась в дико неприятном состоянии, в котором вот оно, корневое устройство, но ни одна команда, кроме тех, которые ещё лежат в кэше, не работает, и даже Alt+SysRq+S,U не поможет предотвратить потерю данных: устройство, на которое можно было бы сбросить кэш, уже отключено, и убедить ядро обратиться к другому невозможно. Фрустрации добавляло ещё и то, что Windows To Go с этим прекрасно справляется, зависая, пока флешку не вставят обратно (с выключением по минутному таймауту).

Оказывается, в Linux это тоже просто обойти. Достаточно создать при помощи dmsetup логический диск в режиме linear и при помощи правил udev делать ему suspend, если устройство было удалено, и создавать ему новую таблицу и делать resume, когда устройство с тем же UUID вставят обратно. На всякий случай, memlockd позволяет удержать в кэше бинарники udev, dmsetup, busybox и blockdev, на которых всё работает. Готовые скрипты (в расчёте на initramfs-tools) лежат на https://github.com/aitap/switchblock/. Адаптировать на другие initramfs должно быть несложно, потому что это всего лишь правило udev + вызываемые из него файлы.

Если кому-то будет интересно, готов принять pull request'ы со скриптами сбора пакетов.

 devmapper, ,

AITap
()

Альсы, пульсы и все все все

Форум — General

Альсы, пульсы, мпд, айскасты, неткаты...

Эээ, warl0ck и val-amart, впрочем, и все остальные тоже.

Опишите свои реальные кейсы, как задачи, чем и зачем слали звук в сеть, чем принимали и воспроизводили.

Вот, например, где-то в соседнем треде человеку надо чтобы шеф говорил в микрофон а подчиненные слышали. Или, вещать музло в сети магазинов. Или что-то нароутить дома...

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

Ожидаю примерно такой формат изложения:

Шеф дал задачу (или я сам себе придумал) сделать вот так и вот так. Я сначала выбрал это и это, начал ковырять но отвалилось в этом вот месте. Потом взял другое, а оно совсем не подходит. И тогда я нашел вот такую штуку и мне подошло, быстро настроил и все заработало.

UPD: Если вы думаете что я изучаю необходимость тех или иных фич — вы правильно думаете, так и есть. Ибо у меня есть поделка, которую я попиливаю вечерами. И, я чую, мне нужно оперделиться в какую сторону её сегментировать на отдельные утилиты, чтобы не получилось комбайна. А этот тред еще и даст мне понять какие вообще фичи я не учел.

 , , ,

deep-purple
()

nenuzhnix — the most useless linux distro

Форум — Talks

Итак, пришло время выложить Ненужникс — мой собственный микродистрибутив. Пока он почти ничего не умеет, но зато работает (поддерживает только amd64, в виртуалке не запустится).

Киллерфичи:

  • Отсутствуют продукты жизнедеятельности Поттеринга (PulseAudio, Avahi, systemd);
  • Чистый wayland (без иксовых библиотек);
  • Никаких перлопитоновых костылей: только shell-скрипты, только хардкор!

Большинство пакетов из Debian 7, пакетный менеджер opkg.

Как пользоваться: дождаться окончания загрузки (пара секунд), ввести имя пользователя (root), жмякнуть «enter». Если всё хорошо, у вас запустится weston, если всё плохо, вы увидите лог ошибок. В weston вы можете наблюдать дефолтные обои (скучные), двигать курсором и вводить текст с клавиатуры (если ваше устройство ввода работает), запустить терминал и любоваться на эталонное ШГ. Всё, что нужно линуксоиду.

Как установить: положить в /boot и запустить update-grub. Рекомендуется также выставить тайм-аут на время, большее времени вашей реакции. Если у вас другой загрузчик, произведите аналогичные действия для него.

Как скачать: бесплатно без регистрации и смс (18,49 Мб).

Каст тех, кто может быть заинтересован: vurdalak, StReLoK, qzxcvbnm, zorg, Borsalino, nepank, SANSLAR, Lincor, RADDyomin, densss, border-radius.

 , ,

CYB3R
()

Где выпить хорошего пива?

Форум — Talks

Питерцам привет

Где можно за разумные деньги в вечер субботы у вас выпить приятного пива? Не мочи сорта «разливное», а чего-то, что не стыдно взять в рот?

Заранее спасибо :)

 , ,

hc
()

Переезжаем в tty...

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

Запилил motd (/etc/issue), потом сделал приветствие при инициализации шелла (zsh). попробовал, понравилось. потом ещё немного подумал, и установил mplayer, завёлся с полпинка. ещё немного, и в виртуальном терминале можно будет жить, благо, в иксах ничего особо не держит.

Немного описания:

  • не понравился ASCII_COLOR из /etc/os-release, потому Gentoo GNU/Linux покрашено в bright purple.
  • релиз ядра окрашен в cyan, но если он не соответствует eselect kernel show, он окрашивается в yellow.
  • архитектура парсится, но цвет статичный, ибо x86 не пользовал никогда.
  • аптайм и количество юзеров парсятся из одной переменной, хотя, надо малость поправить, ибо дни не тестировал.
  • юзер/хост парсятся из переменных окружения, рут окрашивается в bright red, юзер — в bright green, так же использована переменная $TTY, ибо иначе были траблы в эмуляторах терминалов (с /dev/pts/*).

приму рациональные идеи усовершенствования приветствия шелла, если таковые у кого найдутся.

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

 , ,

funeralismatic
()

Xmonad? Awesome!

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

Решил тоже выложить свой скриншот. Давно пользуюсь различными tilling wm, хотя не привязан к ним, пользуюсь скорее из-за конфигурируемости. Но после перехода на двухмониторную конфигурацию я понял, что единственным работопригодным (для меня) WM является xmonad, ввиду своей парадигмы работы с двумя и более мониторами. В xmonad каждый монитор представляет из себя viewport, который отображает какой-либо workspace из общего пула, в то время как всякие dwm, awesome создают на каждый монитор абсолютно независимые наборы воркспейсов. После некоторого времени использования xmonad, я всё же решил отказаться от него ввиду моего неосилятора haskell, и какой то странной работы с fullscreen приложениями (возможно это тоже мой неосилятор), решил запилить всё что мне нравится в xmonad для awesome. Так родились два github репозитория:

  • https://github.com/paul-axe/xmonadify - реализация двухмониторной модели поведения как в xmonad. Сделано на диких граблях, который подсмотрел в tyrannical.
  • https://github.com/paul-axe/AWNS - Names Scratchpads для awesome. Делал на основе каких то старых модулей для scratchpad. На скриншоте Deadbeef как раз показывается/скрывается через этот модуль.

Во всём этом есть куча багов, которые пока лень править, так что если кто-то захочет использовать, то на свой страх и риск.

Кроме того запилил Emacs-like кейбиндинги. В итоге получилось что-то очень похожее по функционалу на то что раньше было в xmonad.

Финальный конфиг можно посмотреть здесь: https://github.com/paul-axe/awesome-config

>>> Просмотр (3840x1080, 539 Kb)

 ,

ki11obyte
()

Энергопотребление в линуксе

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

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

Результаты вы видите.

>>> Просмотр (1366x1536, 600 Kb)

 

Deleted
()

XDG Base Directory Specification, даже когда софт не хочет.

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

Довольно давно меня подзадолбала мусорка в домашней директории, постепенно получилось заставить почти весь софт гадить в строго определенное место, а именно в .config, .cache и .local

Для особо одаренных (Skype, Dropbox) пришлось слегка поизвращаться, если для Skype достаточно было изменить параметр запуска на

skype --dbpath=$HOME/.local/share/skype
, то для Dropbox уже пришлось городить костыль в виде

HOME=$HOME/.local/share/dropbox /usr/bin/dropbox start -i 2>&1

Остальной софт относительно разумен, где через alias, где через export, удалось обяснить, куда складировать свое добро. Ниже листинг .bashrc и .profile, авось кому пригодится.

( Листинг )

>>> Просмотр (749x517, 36 Kb)

 

gwinn
()

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
()

Вопрос физикам, энергия фотона и расширение вселенной

Форум — Science & Engineering

Всем привет, такой вопрос, адресованный к разбирающимся в физике людям:

Представьте себе обычный такой фотон, скажем фиолетовой части видимого спектра, испущенный каким-нибудь переходом электрона на нижние уровни в атоме водорода скажем так 10 млрд лет назад.

Фотон благополучно избежал поглощения другими объектами, межзвездным газом, и вот уже путешествует себе 10 млрд лет. За это время вселенная существенно расширилась, и фотон из «фиолетового» превратился в красный, на границе с инфракрасным.

Известно, что энергия 1 фотона, т.е. кванта света, это произведение частоты на постоянную планка. Частота существенно упала, следовательно за 10 млрд лет, энергия этого путешествующего фотона существенно понизилась. Однако фотон ни с чем не вступал во взаимодействие. Куда делась часть его энергии?

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

 ,

qrck
()

Debian + KVM + настройка сети

Форум — Admin

Доброго всем! Столкнулся с проблемой при реализации следующей задачи. Есть хост машина под debian 7 с адресом x.y.z.10, установлен KVM, bridge-utils, virt-manager. В KVM надо поднять 2-е Win XP машины. При всем этом у них должны быть адреса из той же подсети что и у хоста x.y.z.11 и x.y.z.12 соответственно. При этом машинки должны иметь доступ в интернет для удаленного доступа на них.

В данный момент проблема с настройкой моста. Много чего прочел здесь и на просторах. Но интерфейс br0 ни как не хочет подниматься.

Ниже привожу то что сконфигурировано на хост машине.

eth0      Link encap:Ethernet  HWaddr 00:25:90:d7:58:e0  
          inet6 addr: fe80::225:90ff:fed7:58e0/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:106 errors:0 dropped:0 overruns:0 frame:0
          TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:14880 (14.5 KiB)  TX bytes:468 (468.0 B)

eth1      Link encap:Ethernet  HWaddr 00:25:90:d7:58:e1  
          inet addr:q.w.e.50  Bcast:q.w.e.255 Mask:255.255.255.0
          inet6 addr: fe80::225:90ff:fed7:58e1/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:87 errors:0 dropped:0 overruns:0 frame:0
          TX packets:46 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:13628 (13.3 KiB)  TX bytes:7569 (7.3 KiB)
          Interrupt:20 Memory:f7200000-f7220000 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:20 errors:0 dropped:0 overruns:0 frame:0
          TX packets:20 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:1200 (1.1 KiB)  TX bytes:1200 (1.1 KiB)
Как видно eth0 теряет адрес ipv4 при настройке br0 через interfaces

 
# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
#allow-hotplug eth0
iface eth0 inet manual

allow-hotplug br0
iface br0 inet static
        address x.y.z.10
        netmask 255.255.255.0
        network x.y.z.0
        broadcast x.y.z.255
        gateway x.y.z.2
        dns-nameserver x.y.z.3 8.8.8.8
        bridge_interface eth0
        bridge_fd 9
        mtu 1500
        bridge_maxage 4
        bridge_stp off

allow-hotplug eth1
iface eth1 inet dhcp

Пробовал поднимать все через командную строку

ifconfig eth0 down
brctl addbr br0
brctl addif br0 eth0
ifconfig br0 up
ifconfig eth0 up
ifconfig br0 promisc
Вроде все поднимается, в ifconfig как надо вывод а толку нету.

P.S. Или для данной задачи лучше попробовать что-то другое?

P.S.S Опыта очень не много. Так что прошу о снисхождении и надеюсь на подробные подсказки

 , ,

ant_perch
()

Автозапуск hdparm.service

Форум — General

Нужно сделать чтобы hdparm.service стартовал автоматически после перезагрузки системы. Написал unit-файл для systemd со следующим содержимым:

[Unit]
Description=hdparm
After=basic.target

[Service]
ExecStart=/usr/sbin/hdparm -B 255 /dev/sda

Но это не работает. Нужно еще что-то указать в секции [Install]. Вопрос что именно? Так как:

# systemctl enable hdparm.service
The unit files have no [Install] section. They are not meant to be enabled using systemctl.

p.s. Fedora 18 x86_64

 , ,

Nokman
()

понять суть ООП

Форум — Development

собственно САБЖ подскажите что почитать/посмотреть, чтобы вникнуть в предметную область. Понимаю, что пишу как-то не так, ибо передаю методам кучу параметров и почти не использую свойств.

 ,

r0ck3r
()

Чего бы разместить на аватарке?

Форум — Talks

Данный тред не

комментарии по работе и предложения по развитию сервера www.linux.org.ru

а лишь вопрос к пользователям.

Похоже, что ставить «динамические» аватарки становится модным, заметил уже второго пользователя кто так делает (первым увидел у кого-то с RMS).

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

Может, текущую песню, которую слушаешь, и при смене трека каждый раз заливать новую аватарку. Аналогично pgrep'ать mplayer, если не запущен плеер, а смотрите фильм. Хотя, кому какое до этого дело.

Тогда, может как-то определять, онлайн ты на лоре или оффлайн, и при посещении/закрытии этого сайта заливать новую аватарку с соответствующим статусом Online/Offline. :)

Что еще можно интересного и оригинального и полезного разместить на аватарке на ЛОРе?

Перемещено tazhate из linux-org-ru

 

Spoofing
()

Карманный сервер

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

Дело было вечером, делать было нечего. Решил запилить карманный гитхаб, для случаев экстремального кодинга на соревнованиях или иных случаях. Реализация - мобилка - HD 7 Pro на android 2.3.5 и debian armel chroot, в котором работают lighttpd, php, mysql, openssh. dnsmasq'у андройда подсунут конфиг для поддержки локального dns на хотспоте. Дизайн набросал из готового темплейта от freecsstemplates, заполняю ajax'ом данными из мелких скриптов. Из веб интерфейса можно создать новый bare репозиторий, отклонить напрямую из интернетов на мобилку, добавить ssh ключи. push и pull по ссх. До кучи можно получать фотографии с front/back камеры нажатием на соответствующую кнопку (отображается через lightbox2). Из скриптов установлены sticky-notes, phpmyadmin, gitweb. На скриншоте видна веб морда, и снятая задней камерой фотография. Фотографии отдает по http самописный сервис на жабе, так как voodoo-люди из медиатека выпилили v4l/v4l2 и подцепили камеру через «нестандартное техническое решение». Для запуска/останова используется самописное приложение для дройда.

Детали реализации и еще пяток скриншотов

Код бесплатно, без смс и регистрации можно найти там же.

Общее впечатление - несмотря на то, что в телефон по современным меркам старый тормоз - 512 RAM (из которых 64 откусил 3д ускоритель, а половину оставшегося, если не больше, выжрал андройд), а частота CPU у него 650Mhz (1 ядро arm 1176), все крутится на удивление быстро. Даже phpmyadmin поставленный чисто поржать работает на удивление сносно. И только java (sic!) «не тормозит» (c) (tm).

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

 ,

AiFiLTr0
()

Как новичку задавать поменьше [глупых] вопросов?

Форум — Talks

Привет. Я новичок в линуксе. Мне нужно научиться его использовать — я админ и мне добавилось несколько серверов под линуксом. Моих навыков сейчас хватает только на зайти туда по ссш и в ви поправить нагугленные конфиги. Из-за каждой мелочи приходится дергать народ на всяких форумах и читать тонны не относящегося к делу (из-за того, что даже сформулировать правильно задачу я не могу).
Ощущается очень острая нехватка систематических знаний. Где их взять?
Многочисленные книги типа «Линукс для идиотов» со второй страницы (и до последней) описывают графический интерфейс, использование браузера и смену картинки на заставке, а меня интересует консоль и администрирование. Ну и базы, теории нигде не встретил.
Где прочесть про идеологически верные подходы к решению типовых задач сисадмина? В ФАКах и вики собраны надерганные мелочи, и нигде я пока не встретил чего-то такого типа «библии линукса».
Вот хотел я понять перл — купил книжку с верблюдом и остался доволен.
Нет ли похожего руководства по линуксу?
С техническим английским все в порядке, если что.

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

Borifed
()