LINUX.ORG.RU

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

Первый стабильный релиз KDE Connect

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

KDE Connect — это платформа для взаимной интеграции рабочего стола KDE и мобильных устройств на базе Android и Blackberry (поддержка iOS будет реализована позднее). С её помощью со смартфона можно управлять аудиоплеером компьютера, пересылать на компьютер файлы, управлять курсором мыши, а с компьютера - видеть уровень заряда смартфона, получать уведомления о звонках и СМС, просматривать ФС смартфона и пинговать его, чтобы легче было найти по звуку уведомлений. Также обеспечивается общий буфер обмена для компьютера и смартфона.

Сегодня вышла версия 1.0 с новыми возможностями:

  • запускать со смартфона предопределённые команды в KDE: например, открыть какое-либо приложение или отправить компьютер в спячку;
  • отвечать на СМС через уведомления KDE, прямо с компьютера;
  • получать уведомления KDE на смартфон (по умолчанию отключено);
  • шифровать канал связи смартфона с компьютером посредством TLS (вместо используемого в прежних версиях RSA).

Android-клиент KDE Connect можно найти в Google Play и F-Droid (устаревшая версия).

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

 , , ,

Deleted
()

Как правильно запустить bash script в новом потоке?

Форум — Development

Извиняюсь за, возможно, тупой вопрос, но что я делаю не так? Хочу запустить из прогаммы дополнительный параллельный поток, в котором выполнялся бы скрипт:

static void *scriptthreadFunc(void *arg)
{
  int result=execlp("bash","bash","Scenario.sh",NULL);
  printf("Script has been returned with code %d errno %d\r\n",result,errno); 
}

void ExecScript()
{

  int result=pthread_create(&scriptthread, NULL, scriptthreadFunc, NULL);
}
В итоге скрипт запускается, но вместо работы в параллельном потоке тормозит работу основной программы полностью. Что я делаю не так?

 , , ,

MBK
()

Можно ли задать приоритет дисков в btrfs raid? (делаю объединенный tmp=tmpfs+btrfs)

Форум — Admin

Создаю из двух разделов одну btrfs фс. Хочется что бы на второй раздел данные писались только после того как первый заполнен. Такое возможно как то сделать?

 

i3draven
()

Flash/HTML 5 видео в отдельном окне.

Форум — Development

Давно хотел сделать вывод видео из google chrome в отдельном окне (без рамки, простым оверлеем без всяких MPV на основе превьюшек (thumbnails)).

Решил совместить приятное с полезным и за одно посмотнреть на QML. Такчто можно сказать получился «Hello World» на QML. Решил выложить (может кому пригодится - можно применять не только к браузерам а к любому софту хоть к консоли).

Как пользоватся:

Открываем страницу с нужным видео (youtube, twitch и тд) в отдельном окне браузера и затаскиваем его на виртуальный десктоп «для хлама».
Запускаем «thumb.sh» появляется курсор выбора окна (xwininfo).
Кликаем по окну браузера и ждем запуска основного приложения.
Появляется синий полупрозрачный прямоугольник который нужно расположить точно поверх видео (помогает зажатый Alt + левая / правая кнопка мыши).
После того как оверлей выравнен по видео нажимаем кнопку 'lock' (или дабл клик мыши по оверлею).
Далее распологаем наш фрагмент окна в желаемой позиции монитора (дабл клик переключает между большим и малым размером).

thumb.sh

#!/bin/bash

cd `dirname "$0"`

lines=`xwininfo|tr -d ' ' | tr '":' ' '`

dstVar=""
for line in $lines; do
        if [ ! -z "${dstVar}" ]; then
                eval "${dstVar}=${line}"
                dstVar=""
        fi

        case "${line}" in
                'Windowid') dstVar='id'     ;;
                'Width'   ) dstVar='width'  ;;
                'Height'  ) dstVar='height' ;;
                'Absoluteupper-leftX' ) dstVar='left' ;;
                'Absoluteupper-leftY' ) dstVar='top' ;;

                * ) ;;
        esac
done

exec qml thumb.qml -- ${id} ${left} ${top} ${width} ${height}

thumb.qml

import QtQuick 2.2                                                                                                                                          
import QtQuick.Window 2.2                                                                                                                                   
import QtQuick.Controls 1.4                                                                                                                                 
                                                                                                                                                            
import org.kde.plasma.core 2.0 as PlasmaCore                                                                                                                
                                                                                                                                                             
Window
{
        id: wnd
        visible: true
        width: 320
        height: 160

        title: 'Thumb'

        color: 'blue'
        opacity: 0.5
        flags: Qt.FramelessWindowHint | Qt.WindowStaysOnTopHint

        property var isLocked: false
        property var maxWidth: 0;
        property var minWidth: 0;
        property var isMax: false;

        property var src:
        ({
                x: parseInt(Qt.application.arguments[4]),
                y: parseInt(Qt.application.arguments[5]),
                w: parseInt(Qt.application.arguments[6]),
                h: parseInt(Qt.application.arguments[7])
        })

        property var crop:
        ({
                x: 0,
                y: 0,
                w: parseInt(Qt.application.arguments[6]),
                h: parseInt(Qt.application.arguments[7])
        })

        function lock()
        {
                wnd.opacity     = 1.0;
                wnd.isLocked    = true;
                lockBtn.visible = false;
                thumb.visible   = true;
                wnd.maxWidth    = crop.w;
                wnd.minWidth    = crop.w;

                console.log('Locked !');
        }

        function togleMinMax()
        {
                var nw, nh;

                if( wnd.isMax )
                {
                        nw = wnd.minWidth;
                        wnd.maxWidth = wnd.width;
                        wnd.isMax    = false;
                }
                else
                {
                        nw = wnd.maxWidth;
                        wnd.minWidth = wnd.width;
                        wnd.isMax = true;
                }

                nh = ((nw * crop.h) / crop.w);
                wnd.x -= (nw - wnd.width);
                wnd.y -= (nh - wnd.height);
                wnd.width  = nw;
                wnd.height = nh;
        }

        function fixThumb()
        {
                if( wnd.isLocked )
                {
                        var sf = wnd.width / crop.w;
                        console.log('Scale factor: ' + sf);

                        thumb.x      = -(crop.x * sf);
                        thumb.y      = -(crop.y * sf);
                        thumb.width  = src.w * sf;
                        thumb.height = src.h * sf;
                }
                else
                {
                        crop.x = (wnd.x - src.x);
                        crop.y = (wnd.y - src.y);
                        crop.w = wnd.width;
                        crop.h = wnd.height;

                        thumb.x = - crop.x;
                        thumb.y = - crop.y;
                }
        }

        onXChanged:      { if(! wnd.isLocked) fixThumb(); }
        onYChanged:      { if(! wnd.isLocked) fixThumb(); }
        onHeightChanged: { fixThumb(); }
        onWidthChanged:  { fixThumb(); }

        PlasmaCore.WindowThumbnail {
                id: thumb
                visible: false;

                x: 0
                y: 0
                width:  parseInt(Qt.application.arguments[6])
                height: parseInt(Qt.application.arguments[7])

                winId: parseInt(Qt.application.arguments[3])
        }

        MouseArea
        {
                anchors.fill: parent

                onDoubleClicked:
                {
                        if( wnd.isLocked )
                        {
                                wnd.togleMinMax();
                        }
                        else
                        {
                                wnd.lock();
                        }
                }
        }

        Button
        {
                id: lockBtn

                anchors.top:   parent.top
                anchors.right: parent.right

                text: 'lock'

                onClicked: { wnd.lock(); }
        }
}

PS. На моем KDE 5.6.5 работает, будет ли еще гдето работать - хз

 , , ,

zaz
()

ШГ в Gentoo после обновления freetype до 2.6.5

Форум — Desktop

После обновления freetype появилась радуга в Liberation Mono (Sans и Serif не пострадали). Б-гмерзкий cleartype не включал. Никто не сталкивался? Нет лечения, кроме маскировки и отката?
Зафотать нечем, китайфоном не получается, а скриншот будет у всех по-разному выглядеть.

$ eselect fontconfig list | grep '*'
Available fontconfig .conf files (* is enabled):
  [30]  52-infinality.conf *

$ eselect lcdfilter list | grep '*'
  [14]  ultimate *

$ eselect infinality list | grep '*'
  [8]   ultimate-free *

$ emerge -pv --nodeps freetype
[ebuild   R    ] media-libs/freetype-2.6.5:2::gentoo  USE="X adobe-cff bzip2 infinality png -bindist -cleartype_hinting -debug -doc -fontforge -harfbuzz -static-libs -utils" ABI_X86="(64) -32 (-x32)" 0 KiB

 , ,

Lavos
()

Установка openstack swift

Форум — Admin

Приветствую!

Требуется создать распределенное отказоустойчивое хранилище для музыки и фото. Было решено использовать openstack swift.
Планировалось что все будет работать на серверах debian, т.к есть опыт администрирования именно этого дистрибутива. Но как оказалось openstack поддерживает официально suse, redhat/centos, ubuntu. Могут ли быть в будущем проблемы из-за того что официально не поддерживается? Рассматриваю еще установку на centos, т.к. радует LTS до 2024.
Пока что искал доки по установке именно openstack swift на debian. Но повсюду только полная установка всего openstack пакета, а мне же нужно только swift.
Посоветуйте годный мануал по установке и администрированию openstack swift на debian (centos).

 , ,

kiotoze
()

AppArmor vs SELinux

Форум — General

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

 ,

Deleted
()

Как вы настроили планшет для Blender?

Форум — Multimedia

Прикупил тут Wacom Intuos Art S — сказочный планшет (правда это мой первый, не с чем сравнить), работает из коробки, только дидро должен быть собран с

CONFIG_TABLET_SERIAL_WACOM4=y
CONFIG_HID_WACOM=y

Работа как тачпада отключается на самом планшете, а вот кто настраивал себе планшет для работы в блендере, чтобы было удобно и в edit моде и во время скульптинга? На что настроили кнопки на стилусе? Поделитесь секретами, точнее вашим /etc/X11/xorg.conf.d/52-wacom.conf , пожалуйста.

Спасибо.

 , ,

l-_-l
()

Какой эмулятор терминала в качестве основного вы используете в 2016 году?

Голосования — Голосования

Более чем 3 года назад был последний опрос на эту тему, с того времени кое-что изменилось в мире терминалов, для некоторых из них остановилась разработка и исправление багов (lilyterm, valaterm), в тоже время появились новые (st, cool-retro-term).

Каким эмулятором терминала в качестве основного вы пользуетесь в 2016 году?

  1. Konsole / Yakuake 315 (27%)

    ********************************************************************************************************************************************************************************************************************************************************************************************************************************

  2. GNOME Terminal 278 (24%)

    ******************************************************************************************************************************************************************************************************************************************************************************************

  3. Xfce Terminal 185 (16%)

    *******************************************************************************************************************************************************************************************

  4. rxvt-unicode (urxvt) 151 (13%)

    *********************************************************************************************************************************************************

  5. xterm 129 (11%)

    ***********************************************************************************************************************************

  6. другой (укажу в комментариях) 125 (11%)

    ******************************************************************************************************************************

  7. lilyterm / sakura / tilda / guake 75 (7%)

    ****************************************************************************

  8. iTerm2 56 (5%)

    ********************************************************

  9. lxterminal 52 (5%)

    ****************************************************

  10. Terminal.app 41 (4%)

    *****************************************

  11. st 20 (2%)

    ********************

  12. ROXterm 16 (1%)

    ****************

  13. termite 14 (1%)

    **************

  14. cool-retro-term 8 (1%)

    ********

  15. эмулятор терминала не нужен, есть kmscon 2 (0%)

    **

  16. eterm 0 (0%)

Всего голосов: 1467, всего проголосовавших: 1152

 

l-_-l
()

awesome, unity + gnome-shell style

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

Снова awesome, снова из master.

В этот раз решил воскресить идею unity + gnome-shell style, которая в прошлый раз в галерею не влезла по причине отсутствия описания.

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

Сейчас в master творятся приятные метаморфозы, awesome готовится к очередному релизу, 3.6. Например, в gears я заметил то, что теперь можно применять шейп, причём, с учётом того, что окна являются тоже сурфейсом, то и на них это распространяется (правда, композитный менеджер не в курсе этого дела, и тень отрисовывает не обращая внимания на применение шейпа, и выглядит это как говно).

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

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

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

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

Виджет часов показывается даже в fullscreen, что очень удобно.

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

ШГ в браузере так и не починил, потому показывать его не стану. Да и не изменилось там ничего.

  • Тема иконок по-прежнему Evolvere Flat Vivid Sunken Dark.
  • Тема GTK+ 2.x, Qt4 и Qt5 — самописная, на murrine.

А ещё я так и не выложил конфиги с прошлого раза, так как причесал их только пару часов назад. Конфиги лежат здесь.

 , ,

r3lgar
()

Кодогенерация C

Форум — Development

Не далее чем вчера, находясь под впечатлением от http://www.computerra.ru/65749/steps/ (в частности, TCP стек в 160 строк), я озаботился поиском вменяемых средств кодогенерации с выводом в сишку и не обнаружил особого разнообразия. Конечно, есть просто обалденные bison, ragel, да тот же protobuf, наконец — но какого-то generic решения я не нашел.

Точнее говоря, есть autogen и m4, но они настолько инопланетными, что идея запилить свой транслятор на сишке, используя bison + flex, не кажется чем-то диким.

Может многоуважаемый all подскажет что-то новое?

P. S. основное пожелание: чтобы входной DSL был легко читаем и модифицируем без изучения тотально нового языка.

 , ,

kawaii_neko
()

Какой темой VIM для терминала Вы пользуетесь?

Голосования — Голосования

Screenshots: desert256, wombat256, monokai, solarized (взято отсюда), ego, Kafka, zenburn, flattr, lucid, moonshine, railscasts, tayra, tropikos, smyck, elflord

  1. другая темная 146 (34%)

    ********************************************************************************************************************************************************************************************************************************************************************************************************************************

  2. solarized 65 (15%)

    **********************************************************************************************************************************************

  3. desert 56 (13%)

    **************************************************************************************************************************

  4. самодельная 51 (12%)

    ***************************************************************************************************************

  5. monokai 41 (10%)

    *****************************************************************************************

  6. другая светлая 22 (5%)

    ************************************************

  7. wombat 16 (4%)

    ***********************************

  8. zenburn 10 (2%)

    *********************

  9. elflord 8 (2%)

    *****************

  10. lucid 4 (1%)

    ********

  11. railscasts 3 (1%)

    ******

  12. moonshine 2 (0%)

    ****

  13. flattr 1 (0%)

    **

  14. tayra 1 (0%)

    **

  15. smyck 1 (0%)

    **

  16. ego 0 (0%)

  17. Kafka 0 (0%)

  18. tropikos 0 (0%)

Всего голосов: 427

 ,

Disova
()

FreeNX и NeatX померли, да здравствует X2GO

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

Возвращаясь к вопросам удалённого доступа и бастардов xmpp

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

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

Оставался лишь вопрос удалённого доступа. Google убрал код NeatX в архив. FreeNX после закрытия исходников nomachine nx зачах и работает криво. Зато в Fedora развивается очень интересный проект --x2go.

x2go, как и его предшественники, позволяет подключаться по ssh к удалённой машине. При этом создаётся графическая сессия, не привязанная к реальной консоли. Можно отключаться и подключаться. При этом на обоих сторонах ssh работает агент, который сжимает и кэширует трафик. А события иксов старается обрабатывать локально, не гоняя по сети. Получается высокая скорость и резкая экономия трафика (~ 0.5 КБ/сек в простое вместо ~ МБ/сек). В результате вполне можно работать удалённо, не выбиваясь в лидеры биллинга на рабочем прокси ;) Есть и недостаток - x2go использует старую библиотеку для работы с ssh, поэтому он не будет работать с KEX ecdh-*. Но опять же это решается админскими методами - выносом в изолированный vlan и доступом только из доверенной среды.

То, что нужно. Итак, в ВМ ставим debian в минимальной конфигурации. Зачем ставим x2go из его реп. Остаётся только добавить графический менеджер по вкусу и x11-xkb-utils для переключения раскладки. Я остановился на fluxbox, добавив в ~/.fluxbox/startup

/usr/bin/setxkbmap -layout "us,ru" -option "grp:caps_toggle,grp:alt_shift_toggle,grp:ctrl_shift_toggle,grp_led:scroll" -rules xfree86

Если x2go установлен на debian jessie, а подключаться пытаемся из древней ОСи, нужно будет разрешить на сервере ssh использование старого KEX diffie-hellman-group1-sha1 (man sshd_config, /KexAlgorithms).

Итак, на скриншоте ноут с дефолтным gnome shell. Запущены две x2go-сессии к разным ВМ, рядом для примера pidgin. Тема fluxbox - frenzy graphite, утянутая из одноимённого дистрибутива. Вместо привычного firefox запустил google chromium, т.к. он меньше грузит процессор.

 , , ,

router
()

Стал доступен экзамен Certified OpenStack Administrator от OpenStack Foundation

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

По всему миру стал доступен экзамен Certified OpenStack Administrator от OpenStack Foundation. Это первый вендоро-независимый практический экзамен, призванный подтвердить навыки администратора OpenStack (до этого были только Mirantis и Red Hat). Первая сессия была проведена две недели назад на OpenStack Summit. Теперь экзамен можно сдать удаленно (идет мониторинг через вашу веб-камеру, микрофон и захват рабочего стола). В подготовке экзамена под эгидой OpenStack Foundation приняли участие почти все основные компании коммитеры в OpenStack.

Экзамен практический и выполняется удаленно на виртуальной машине/машинах (консоль и Horizon). Длится 2 часа, стоимость $300, при этом вторая попытка в случае неудачи - бесплатно. Провайдер экзамена (инфраструктура) - тот же, что и для экзаменов Linux Foundation. Так что кто сдавал практические экзамены Linux Foundation Linux Certification - процедура должна быть понятна.

Темы как и подробная информация доступны по ссылке. Включают в себя устранение неисправностей и работу с основными подсистемами OpenStack. Инструкция по регистрации, советы по сдаче - там же. Сдавать можно с ПК под управлением Windows, Linux и Mac. Во время сдачи сеть доступ только к http://docs.openstack.org/.

>>> Подробности на openstack.org

 , ,

korum
()

Преимущества Gentoo, которые не дают перейти на Arch на десктопе/рабочей станции.

Форум — General

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

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

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

Перечислю некоторые наиболее чувствительные лично для меня моменты в арче:

  • отсутствие слотов
  • systemd вместо простого как палка openrc с его /etc/{conf,init}.d/*
  • отсутствие в пакетной базе прошлых версий для отката
  • разрулить несовместимость бинарных пакетов сложнее, чем хачить ебилды, да и в целом, что может быть проще и лучше ебилдов для ручной настройки под себя?

Казалось бы, слоты хорошее дело, но вот например lua есть в слотах, версия 5.2 хардмаскед уже много лет, сама версия 5.2 вышла в декабре 2011 года, т.е. почти 5 лет назад, да, я уже не говорю про 5.3.* линейку, последняя их которой 5.3.2 вышла в ноябре 2015 года, а её в портаже нет в принципе. И наверное не появится никогда. Здесь напрашивается закономерный вопрос: ну что, помогли тебе твои слоты, сынку?

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

С прошлыми версиями аргумент довольно слабый, вот я попытался вспомнить сколько раз мне приходилось откатывать пакет, потому что он не работал / не нравились изменения? В год примерно раза 3-5, не больше. Получается, что не аргумент вообще. Если в апстриме исправили, значит можно накатить пакет-git из AUR'а например.

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

tl;dr

А какие преимущества генты не дают вам перейти на арч с его пкгбилдами, практически ничем не отличающимся от ебилдов?

Спасибо.

 , , , ,

slon
()

Сделать из vim C++ IDE, подскажите, пожалуйста, список дополнений

Форум — Development

Предъистория: несколько раз пытался пользоваться vim и каждый раз бросал. Всякий раз он мне казался неудобным. В этот раз плюнул на стандартные настройки, перенастроил его по-нормальному и да, теперь им сходу стало можно пользоваться как редактором текста. В частности: перенёс перемещение курсора с hjkl на esdf и esc на shift+space. Также, курсор при движении влево-вправо теперь не останавливается на конце строки.

Вимом стало возможно нормально пользоваться! Теперь, я хочу затюнить его под С++ кодинг.

Для этого мне минимально необходим следующий функционал:

  • переключение между заголовочником и исходником,

  • переход к определению функции под курсором,

  • переход к объявлению функции под курсором,

  • переход к предыдущей позиции курсора (не используя закладки),

  • плагин для содержащания файлов проектах,

  • переход к файлу, указанному директивой include под курсором,

  • аналог вкладок в других редакторах и переключение между ними,

  • подсветка синтаксиса,

  • подсветка всех слов аналогичных тому, что под курсором (по клавише),

  • инкрементальный поиск,

  • поиск во всех файлах проекта с подсветкой найденного,

  • переименование метода класса в исходнике с автоматическим изменением сигнатуры в заголовочнике,

  • astyle (ну это просто),

  • автодополнение (уже подсказали в другой теме, не пишите про него),

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

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

  • Ну и, конечно, сохранение/открытие проекта, быстрый запуск компилятора и скомпилированного файла.

Ну вот и всё. Вроде ничего не забыл.

 ,

next_time
()

проблема gcc 5 и readline

Форум — General

Неделю назад мою дурную(дальше будет понятно почему) голову посетила идея перевести систему на gcc5, а заодно пересобрать весь мир, чего не делал ни разу с 2012го года.

Во время пересборки всплыла проблема с readline, 6я версия которого отказывалась собираться с помощью gcc5. В связи с этим я размаскировал readline7_0_rc1, после чего пересобрал все от него зависящее и поставил пересобирать мир. Когда осталось собрать 400 пакетов, sh перестал работать с криками что ему нужно readline.so.6. Перезагрузка привела к тому что я теперь не могу даже залогиниться. Вот пишу из горящего танкадуалбутной венды. Подскажите что делать? Любимую генточку терять и переустанавливать не хочу.

 

Loki13
()

Веселая музычка из /dev/urandom

Форум — Development
cat /dev/urandom | hexdump -v -e '/1 "%u\n"' | awk '{ split("0,2,4,5,7,9,11,12",a,","); for (i = 0; i < 1; i+= 0.0001) printf("%08X\n", 100*sin(1382*exp((a[$1 % 8]/12)*log(2))*i)) }' | xxd -r -p | aplay -c 2 -f S32_LE -r 16000

Source: http://blog.robertelder.org/bash-one-liner-compose-music/

 , ,

Oxdeadbeef
()

Недопонимаю portage

Форум — Talks

Сказать что portage в gentoo забавный это не сказать ничего... Иногда он ставит в тупик. Ну к примеру собирать в sandbox это Ок не смотря на то что зачастую при этом огребаешь проблем а собирать в chroot и при этом не засирая основную систему а использовать бинпакеты это видимо чем-то не ок.

Но это ладно. Сейчас погорим о более простых вещах. Вот portage собирает какой-то софт. При этом при установке все нужные ему юзеры/группы создаются автоматически. И это вроде-бы хорошо.

Однако при удалении все, даже дефолтные, конфиги из /etc никуда не исчезают. Это называют фичей необходимой якобы для того что-бы юзер не потерял свои драгоценные настройки. Внимание вопрос - никакой разницы дефолтный конфиг или нет? Ну я понимаю если конфиг отличается от стандартного - в таком случае он представляет ценность и его может быть и жаль потерять. Какую ценность может представлять стандартный конфиг и зачем даже его оставлять нетронутым после удаления самого пакета?

Но даже это пол беды - созданные при установке юзеры/группы после удаления пакета никуда не деваются. Таким образом в системе остаются юзеры/группы «мёртвые души» и просто замечательно если там /sbin/nologin или /bin/false в качестве оболочки и нет возможности их эксплуатировать. Но кто может дать такую гарантию что ни один пакет не сделает подобный «подарок»?

По-моему это как минимум нелогично и при удалении пакета надо хотя-бы предупреждать о ненужных юзерах/группах.

 , ,

init_6
()

Вышла версия 2.4 Android File Transfer for Linux, теперь и для OS X

Новости — Мультимедиа
Группа Мультимедиа

Android File Transfer for Linux — свободная и стабильная реализация протокола MTP, который используется для многих современных мобильных устройств. В комплекте присутствует Qt/Cli-интерфейсы, поддерживается монтирование через Fuse. Может закачивать файлы любых размеров, не тормозит и не виснет.

За последние полгода и две версии проект получил большое количество фидбека, писем, проклятий и угроз (больше всего), и почти всё было реализовано. Хоть денег мне никто не шлет, испытываю невероятную потребность отчитаться за проделанную работу перед самой требовательной публикой (вами).

В версии 2.4 было добавлено:

  • Киллер-фича: fuse wrapper автоматически переподключается, если девайс отключили, а потом включили обратно. Ни один проект ТАК не заботится о своих пользователях.
  • Поддержка OS X. Парадоксально, но оригинальный AFT умеет вешать мак целиком и вырубать все внешние USB устройства. Как это у гугла вышло, я не знаю, у меня не получилось. Также, часть названия проекта «…for Linux» теперь не соответствует действительности. Что с этим делать — не знаю, посоветуйте :(
  • Cli-утилита обзавелась интерактивным режимом с readline, историей и подстановками. Для этого пришлось сделать метаразбор метатипов метафункций на этапе метакомпиляции и научить компилятор вызывать функцию с параметрами из tuple, что есть только в самом новом стандарте c++. (я пока держусь и хватает c++11)
  • Смена лицензии на GPLv3.
  • Пост на reddit, где есть много боли и интересного в комментариях (англ.)
  • Проект можно собрать без qt и без readline, для труъ джедаев и терминалов vt-100.

Старые фичи v2.3, корректирующего релиза к v2.2:

  • Отправка zero length packet (или ZLP (просторечие, неценз.), починены все известные зависания на момент v2.2. (Надеюсь, новые уже добавлены в v2.4)
  • Установка cli-тулзы по ninja/make install. засоряем вашу систему
  • Отслеживание EBUSY, когда устройство или интерфейс занят, о чем сообщается по-человечески, а не ioctl failed: Device or resource busy.
  • Различные исправления для Windows Phone. Судя по вестям из полей, Android File Transfer — единственный способ подключить вашу Lumia к Linux. Не знаю правда ли, но приятно, что мир избавился от небольшой части вечного страдания.

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

 , ,

whoozle
()