LINUX.ORG.RU

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

Давайте поизвращаемся вместе!

Форум — Linux-hardware

Привет всем! Есть один винт в 200 ГБ с бэд-блоками, которые уже давно не развиваются и находятся в определенных местах (наверное). Задача состоит в том, чтобы использовать этот винт для хранения не ценной информации и использовании его как переносную помойку с малоценной информацией. Как вижу я решение этой задачи:

  • Создаем 10 разделов по 20 Гб.
  • Проверяем каждый раздел на запись/чтение с помощью dd.
  • Если раздел содержит бэд-блоки, то не пользуемся им - изолируем.

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

 , ,

int13h
()

Обмен ключами, скидками и прочими игровыми радостями (3)

Форум — Games

Сюда можно и нужно писать, какими бы ключами вы бы хотели поделиться. Steam, desura, всякие бандлы и т.д.

Замечания:

 , , ,

beastie
()

apulse

Форум — Development

Everyone! Listen up! Today... today...

$ apulse <program-name> [program parameters]

https://github.com/i-rinat/apulse — эмуляция PulseAudio. Когда приложение пытается загрузить libpulse.so, ему подсовывают её версию от apulse, в которой реализована часть функций, достаточная, чтобы запустить Skype и некоторый другой софт.

 ,

i-rinat
()

skype не логинится или не работает звук

Форум — General

Всем привет!

Цель данного топика:
- Предлагаю сюда перенаправять тех, кто еще не в курсе
- Собираем решения здесь

Вот пока инфа от меня, если есть что добавить/исправить - говорите.

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

Варианты решений:
Вариант 1. Обновиться до 4.3. Самый правильный способ. Подходит всем, кроме тех, кто не хочет видеть pulseuadio у себя на компьютере.
Вариант 2. Ставим 4.3 (pulseaudio устанавливать не обязательно), запускаем, настраиваем автологин, выходим (exit, а не sign out), удаляем 4.3, ставим 4.2, profit. Внимание: Автологин-сессия имеет свойство слетать через некоторое (случайное) время. То есть вчера могло работать, а сегодня - писать ошибку; в таком случае опять повторяем трюк с установкой 4.3. Подходит для тех, кому нужно быстро решить проблему, а находить постоянное решение - потом.
Вариант 3. apulse - эмулятор API звукового сервера PulseAudio через ALSA (новость на OpenNet). Он требует установленного pulseaudio, но главная ценность данной программы - она не дает pulseaudio запуститься (что проверяется посредством ps ax | grep pulseaudio). Запускать как aplay skype.
Вариант 4. skype_oss_wrapper - эмулятор API звукового сервера PulseAudio через OSS (обсуждение). в отличии от предыдущего решения не требует установки pulseaudio. Теоретически требует на системе OSS; хотя с ALSA (с эмуляцией OSS) тоже получилось запустить, но к работе были замечания. После установки запускать как skype_oss, который является просто bash скриптом, реализующим LD_LIBRARY_PATH (не путать с LD_PRELOAD). Разработчик - Waterlaz, спасибо ему.
Вариант 5. Ещё одно решение: https://bbs.archlinux.org/viewtopic.php?pid=1447410#p1447410
Just grabbed a hex editor (hexedit from the repos), opened /usr/lib32/skype/skype, searched for 4.2.0.13 in the ASCII (Press tab to switch to ASCII and '/' to search), replaced it with 4.3.0.37 (CTRL-X to save), and it works.
Патч здесь: https://aur.archlinux.org/packages/skype42/ (спасибо aidan за наводку). P. S. В некоторых системах это файл /opt/bin/skype . Подходит для тех, кто по каким-то причинам не может ничего менять на системе.

Способ уже не работает.
Вариант 6. Android Skype - одно из приложений, запускаемое в WEB-браузере Chrome. Инструкция здесь. Заявлено, что метод работает в Chrome/Chromium 37 на системах x86_64. Кто пробует - отписывайтесь.

 ,

Kroz
()

python в песочнице

Форум — Web-development

ребята кто нить помнит сайт, забугорный, там народ свой код выкладывает с вопросами и там же, прямо на сайте его можно запустить и ещё там даётся временный root доступ к серверу в песочнице?

fMad
()

Gentoosome

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

Система: Gentoo
Kernel: 3.7.1-geek
DE: нет
WM: Awesome-3.4.13
Тема wm: Powerarrow
Тема gtk2/3: Zukitwo Dark
Композитинг: Compton
Потр. RAM на старте: 110 mb.


В дополнение к своей теме Powerarrow-dark (для работы ночью) решил сделать дневной красочный вариант.

Подробнее о виджетах панели (справа налево):


  • Режимы тайлинга
  • Бинарные часы
  • Монитор сети - (по ЛКМ или modkey+i открывается терминал с iptraf-ng)
  • Батарея - при разрядке/зарядке появляется +/- соотв.
  • Виджет ФС - (по ЛКМ открывается udisk-glue с опциями отмонтирования/детача)
  • Виджет Sensors - температура CPU
  • Виджет CPU - (при наведении открывается няшный blingbling popup с инфой top, скролинг регулирует размер окна popup'а, а ЛКМ открывает терминал с htop, также на хоткее modkey+p)
  • Виджет RAM
  • Виджет для Taskwarrior - open-source, cross platform time and task management tool with command-line interface - (ЛКМ открывает список текущих задач с возможностью отметить задачу как решенную. Используется blingbling, но с микро-патчем.)
  • Виджет MPD/ncmpcpp - ЛКМ или modkey+Shift+m открывает терминал + ncmpcpp, ПКМ делает mute, а скроллинг по видждету - регулирует звук (в том числе используется Couth), разумеется также на хоткеях.
  • Виджет почта - по ЛКМ открывается терминал с mutt, чуть позже будет также отображается к-во новых писем.
  • Виджет ножницы (на самом деле просто приложение в трее) qlipper - clipboard-менеждер, он же pop-up на Alt+C


Для быстрого конфигурирования Awesome - по хоткею modkey+A открывается tmuxinator (менеждер tmux сессий) в терминале и открывает две вертикальные панели с vim - одна с rc.lua, вторая с theme.lua. Скриншот конфигурирования.

Весь комплект с конфигами, темой, иконками, обоями, рубигемом tmuxinator (патченным, принимающим аргументы) и всё остальное можно невозбранно грабнуть/грепнуть с моей репы на гитхабе.

Скриншот 1366x768
Скриншот 1680x1050
Скриншот с терминалом и vim в tmux
Скриншот ПКМ-меню и gtk2/3 темы с spacefm
Обоина

 , ,

science
()

Gentoo. Pulseaudio ведет себя как распоследняя скотина - глючит, лагает и ничего не хочет делать нормально

Форум — General

Дистрибутив - Gentoo Stable (из ~ только Skype и WPS-Office), последние обновления стоят. Используется OpenRC. Pulseaudio настаивал по оригинальной англоязычной Wiki.

Это поделие Поттеринга уже достало: у kmix шаг регулировки стал от 3% до 7%; звук регулярно пропадает (в alsamixer'е mute появляется); при выключении звука мультимедия-кнопкой обратно без «alsactl restore» не возвращается; когда звук выводят два приложения он становится заметно хуже и иногда на секунды пропадает; то не слышно уведомления KDE, то не слышно звуки в браузере и плеере; периодически набрав «/etc/init.d/pulseaudio status» я вижу «crashed»; звук в наушниках (аудиокарта встроенная) _реально_ хуже, чем был с alsa. Даже мата на это уже не хватает.

Это нормально?! Подскажите, как все это добро фиксить?

//удалил бы, но нужен Skype, а он, как известно, требует эту пш-пш-аудио с последней версии :(

 , , ,

xasecoro
()

[SOLVED]Лог загрузки виртуальной машины. libvirt

Форум — General

Добрый день. Пытаюсь запустить linux на виртуалке через PXE, но при загрузке ядро крашится. Существует ли возможность посмотреть или записать лог загрузки ядра, что бы понять в чем ошибка и куда дальше двигаться?

 , ,

flawless
()

Понять причину «зависания» команды

Форум — General

Привет!

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

ssh username@hostname command

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

ssh localhost 'grep test'

Можно прибить ssh, но как понять что нужно команде по информации на хосте? Найдя этот процесс в /proc можно посмотреть, что он «спит», при попытке посмотреть его файловые дескрипторы я вижу что-то вроде

$ ls -l
total 0
lr-x------ 1 username username 64 Aug 18 11:08 0 -> pipe:[10856516]
l-wx------ 1 username username 64 Aug 18 11:08 1 -> pipe:[10856517]
l-wx------ 1 username username 64 Aug 18 11:08 2 -> pipe:[10856518]

Иногда команда (прежде чем ожидать получения чего-то от пользователя) выводит что-то на экран, как получить эти данные мне тоже не понятно.

В общем жду рекомендаций о том, как понять что нужно процессу, желательно без установки дополнительного софта (средствами ОС). Заранее спасибо!

 , ,

alozovskoy
()

Awesome disable DPMS when fullscreen: solution

Форум — Desktop

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

Сделал правило для awesome, которое вызывается когда окно входит или выходит в фуллскрин/из фуллскрина. Если есть окна в фуллскрине - DPMS отключается. Если нет окон в фуллскрине - включается.

Может кому пригодится:

client.connect_signal("property::fullscreen", function(c)
    local fullscreened = false
    for key,value in pairs(client.get()) do
        if(value.fullscreen == true) then
            fullscreened = true
            break
        end
    end
    if fullscreened then
        disable_powersaving()
    else
        enable_powersaving()
    end

end)

function disable_powersaving()
        awful.util.spawn("xset s off")
        awful.util.spawn("xset -dpms")
end

function enable_powersaving()
        awful.util.spawn("xset s on")
        awful.util.spawn("xset +dpms")
end

Lua не знаю совершенно, да.

Эта штука лучше lightsOn.sh тем, что у меня оный не заработал, и он, вроде как, заточен только на флешик.

Две недели пользую на двумониторной конфигурации, полёт нормальный.

Засовывать в ~/.config/awesome/rc.lua

 , , ,

NeverLoved
()

Один экземпляр 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
()

Правило udev, которое будет срабатывать даже на старте системы

Форум — Desktop

Вот как так сделать? А то иной раз забуду мышку вынуть при включении ноутбука, в результате работает тачпад.

Правило:

ACTION=="add", SUBSYSTEM=="input", ENV{DISPLAY}=":0.0", ENV{XAUTHORITY}="/home/eddy/.Xauthority", RUN+="/usr/bin/synclient TouchpadOff=1"
ACTION=="remove", SUBSYSTEM=="input", ENV{DISPLAY}=":0.0", ENV{XAUTHORITY}="/home/eddy/.Xauthority", RUN+="/usr/bin/synclient TouchpadOff=0"

Eddy_Em
()

Нормальная аутентификация на php+mysql+cookies

Форум — Web-development

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

Для каждого пользователя системы в mysql-табличке хранится логин, хэш-пароля(от соли) и сама соль. Также есть пустые поля под CURRENT_IP, CURRENT_USER_AGENT и CURRENT_HASH.

При заходе на страничку login.php пользователь вводит свои логин и пароль;
Логин и пароль обрабатываем preg_match - проверяем, чтобы были только буквы и цифры;
Делаем запрос к базе через adodb (там есть плейсхолдеры);
Если есть такой логин, берем из базы соль, хэшируем соль+пользовательский пароль, проверяем совпадение получившегося хэша с хэшем из базы;
Если всё окей, создаем CURRENT_HASH - любая строка, например md5(time() + "123"), заносим её в базу и кладем в $_COOKIES. Также заносим в базу CURRENT_IP = текущий адрес пользователя и CURRENT_USER_AGENT = md5(от текущего значения user-agent пользователя);


При заходе на любую страницу сайта (где требуется авторизация) подключаем файл auth.php со следующим содержимым:

$my_current_hash = $_COOKIES['CURRENT_HASH']

$sql = "
SELECT `USER_ID`, `CURRENT_HASH`, `CURRENT_USER_AGENT`, INET_NTOA(`CURRENT_IP`) as `CURRENT_IP_NTOA`
FROM `users`
WHERE (`CURRENT_HASH` = %s") AND (`CURRENT_IP_NTOA` = %s)
		AND (`CURRENT_USER_AGENT` = %s);
// fetchRow из adodb
$res = fetchRow($sql, $my_current_hash, $_SERVER['REMOTE_ADDR'],
	md5($_SERVER['HTTP_USER_AGENT']));

if ($res)
	echo "success";
else {
	Header('location: you_suck.php');
	exit();
}

Достаточно ли такого подхода для обеспечения безопасности веб-приложения?

 , , ,

JANB
()

Where has my time gone?

Форум — Development

Release early, release often!

В продолжение тем Time Card и Консольный тайм-трекер хочу представить общественности свой собственный велосипед.

Отличается от других велосипедов квадратными колёсами, тем, что время сам считает.

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

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

Когда срабатывает скринсейвер счёт прекращается. Неактивные таски забываются после 8-и часов (плюс-минус рабочий день).

Всё это дело бежит просто на заднем фоне и предоставляет (пока ещё рудиментарные) результаты на http://localhost:8001/ Записи дампятся каждую минуту на диск, т.ч. рестартов тоже не боится.

Работает с EWMH компатибельными WM. (Для xmonad нужна особая магия, которую я не осилил.) UPD: внизу по треду есть решение.

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

Установка: go get github.com/dim13/gone

ref: https://github.com/dim13/gone

UPD: в планах добавть ещё какую-нибудь fuzzy logic для группировки окон по названиям.

 ,

beastie
()

Как это запихнуть в реляционную базу данных

Форум — Development

Есть классы, например дом, автомобиль.

У классов есть атрибуты, например площадь, количество дверей у класса дом, вес, количество дверей у класса автомобиль.

Классы и их атрибуты могут добавляться/удаляться/изменяться в зависимости от фазы луны.

Есть объекты, например дом-1 класса дом, площадь 100 м*м, количество дверей 5, автомобиль-1 класса автомобиль, вес 2 т, количество дверей 5. Объекты могут добавляться/удаляться/изменяться в зависимости от фазы луны.

Нужно искать объекты по атрибутам. Запрос «площадь 100 м*м» должен возвращать дом-1. Запрос «вес 2 т» должен возвращать автомобиль-1. Запрос «количество дверей 5» должен возвращать дом-1 и автомобиль-1.

Как это по умному запихнуть в mysql?

Думал как-то так:

classes
------------------
cid|cname

attributetypes
------------------
atid|atname|cid

objects
------------------
oid|oname|cid

attributes
------------------
aid|avalue|oid|atid

Но тут например можно добавить объекту одного класса атрибут от другого. Вообще не покидает ощущение, что я ректально лечу кариес.

 

suuaq
()

ArchLinux на Asus Transformer TF300TG (arm)

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

Попытки тестирования ArchLinux на arm android планшете Asus Transformer TF300TG.

Планшет разлочен, прошита TWRP рекавери, гибридное ядро с дуалбутом. Корневая файловая система развернута на внутренней памяти /media/data/linux, около 700 Мб

http://forum.xda-developers.com/showthread.php?t=1918849

Описание по железу:

-cpuinfo: ARMv7 Processor rev 9 (v7l),

- ОЗУ total 1000752 kB

- ППЗУ /dev/mmсblk0p8 = internal storage; /dev/mmcblk1p1 = microsd slot in the tablet body (double check that, I'm not 100% sure); /dev/sda1 = standard sd slot in the keyboard

? блютус не проверялся

- камера основная и фронтальная не ловятся

- звук через pulseaudio: идеально; выход наушников и микрофон не настроены(?)

- батарея встроенная и батарея докстанции отображаются xfce

- в кардридере читаются карты 64 Gb (community/exfat-utils)

- юсб-хост; юсб-хост на доке; клавиатура док; тачпад док - все работает

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

- видеовыход не проверялся

- модем мобильной сети : отлично

- wifi адаптер: иногда следуют отключения =(

- экран: 1280x800, xRandR rotate хорошо

- gps, датчики акселерометры, гирометры, компас - не проверялись.

Две батареи (при подключенном доке) держат более 24 часов!

Спецклавиши клавиатуры по дают весьма интересные коды, можно перемапить в будущем на f1...f12, а также настроить обработку нажатий; уже настроена регулировка яркости (/sys/class/backlight/pwm-backlight/brightness) и громкости (amixer). Качель громкости на теле планшета дает ровно те же коды, что и две клавиши громкости в верхнем ряду клавиатуры.

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

По archlinux:

pacman работает, тащит пакеты для armv7h

По скриншоту:

xfce дефолт;

conky вызываются с периодом одну секунду из «generic monitor», плагина xfce-панели, .conkyrc переписан для однократного вывода текста в консоль;

значение текущей раскладки в коньках берется как значение бита светодиода 'scroll lock', зажигание которого по старинке настроено в etc/X11/xorg.conf.d/20-keyboard-layout.conf

.conkyrc:
 ${exec /home/user/getkbdlayout} | \

getkbdlayout: 
#/bin/sh
case "$(xset -q|grep LED| rev | cut -c4)" in
  "0") KBD="en" ;;
  "1") KBD="ru" ;;
    *) KBD="unknown" ;;
esac
echo $KBD

Заключение:

Получился отличный почти-работоспособный нетбук с большим количеством софта, поддерживающий всю ноебходимую периферию и ооооочень большой батарекой! Впереди еще много работы, по acpi, всякие настройки, экранная клавиатура, обработка акселерометров для поворота экрана — есть шанс получить интересный native-linux планшет.

 , , ,

marxengels
()

Мини холодильник

Форум — Talks

Сап, ЛОР. Есть пользователи сабжа?

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

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

Алсо буду благодарен за какой-нибудь украинский сайт бытовой техники.

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

Спасибо.

 , , ,

NeverLoved
()

log/stdout colorizer

Форум — General

Привет
Хочу найти сабж
Помню была какая-то команда, добавляемая в пайп, которая раскрашивала вывод в соответствии с заданными правилами.
Как звали?
Не ccze.

 

takino
()

Помогите протестировать игру

Форум — Games

Мы два разработчика игры, которая назвается «Burnt Islands» - «Сгоревшие острова». Это 3D игра с динамичной генерацией островов, где вам надо убивать монстров-роботов и добраться до главного острова за пределами выжженного мира. Игра все еще в разработке и последний релиз 0.13 включает в себя русский язык.

Игра создается под Windows и Linux. Пока никто версию Linux так и не протестировал.

Помогите, пожалуйста, кому не лень. Игра пока что открыта для всех. Можно скачать: с нашего сайта: http://games.studiofreya.com/ или с IndieDB: http://www.indiedb.com/games/burnt-islands

Хотелось бы также узнать ваше мнение об игре. Мы ее делаем уже 3 года, но конструктивных отзывов очень мало.

Спасибо, Татьяна

 ,

tisy20
()

gtk3 theme switcher

Форум — Desktop

Существует ли в природе сабж. Ну или хотя бы превьювер, в конфиге я уж сам пропишу.

meduza
()