LINUX.ORG.RU

Сообщения AITap

 

Linux на GPD Pocket

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

Этим летом решился и реализовал мечту детства об ультракомпактном ноутбуке. Начитался соответствующей информации и решил поставить не специальную сборку для Pocket от не известных мне людей (хотя позже наткнулся на официально выглядящую Ubuntu Mate for Pocket), а Debian (к пакетной базе которого, как и к любому другому известному дистрибутиву, доверия чуть-чуть, но больше).

Установка вышла с приключениями:

  • Первая загрузка только что установленной системы окончилась зависанием с чёрным экраном на этапе, когда система делает udevadm settle. Скорее всего, причина в модуле fusb302, который я позже заблеклистил за то, что он при загрузке пытается разыменовать нулевой указатель и больше ничего не делает, но тогда пришлось изворачиваться с init=/bin/bash и вручную с флешки ставить ядро из бэкпортов (4.18)
  • Пришлось вручную внести в конфигурацию Xorg настройки DPI (больше трёхсот!) экрана и калибровочную матрицу для сенсорной панели
  • Пришлось заблеклистить звук через HDMI, потому что с ним висло и падало PulseAudio, а без него не получилось завести dmix (кроме того, так и не заработал микрофон)
  • С последней версией linux-firmware Wi-Fi адаптер намертво вешает систему при загрузке. Решения нет, один файл пришлось откатить.
  • Кроме того, давно уже не изобретал себе DE из соплей и палок, а тут решил извратиться и собрать максимально клавиатурно-ориентированное окружение на базе DWM (текст на панели генерирует luastatus), так что пришлось написать несколько костылей для обработки закрытия крышки и клавиш регулировки громкости.

Минимализм тут чисто показной, потому что в ноутбуке спрятано 8G оперативной памяти, и я ещё ни разу их полностью не занимал. (Опасаясь за судьбу SSD, вместо zswap - прозрачного сжатия страниц перед выгрузкой на раздел подкачки - я включил zram - виртуальный сжатый диск в оперативной памяти, на котором размещается swap.) Процессор видно, что небыстрый, но даже с небольшими расчётными задачами справляется нормально. Если не запускать браузер, а тихо сидеть и кодить, батареи хватает надолго: сейчас ноутбук используется 2-3 раза в неделю по несколько часов, а заряжаю я его в выходные.

Клавиатура, конечно, гораздо менее удобная, чем полноразмерная, но пользоваться ей можно (мои пальцы даже успели привыкнуть тянуться к расположенным в абсолютно неподобающих местах клавишам Х, Ж и Ю). Единственный USB-порт не сильно беспокоит, потому что большую часть времени ноутбук используется на коленях или маленьком столе без возможности подключить что-либо ещё. Читал о проблемах с антенной Wi-Fi (неудачном её расположении внутри алюминиевого корпуса), но именно от низкого уровня сигнала не страдаю.

Не всем приложениям комфортно на 300 DPI. Некоторые программы и библиотеки пытаются гиперкомпенсировать высокое разрешение, домножая все размеры на определённый фактор, вместо того, чтобы просто рисовать интерфейс в пунктах согласно системному DPI, а не пикселях. Другие делают всё честно, но физически не умещаются в 7-дюймовый экран.

EFI весьма глючен: банальный grub-install завешивает весь компьютер на несколько секунд, а однажды при обновлении загрузчика (когда, судя по всему, нужно было сначала удалить, а потом создать загрузочную запись заново) efibootmgr стал возвращать ошибку, и единственным исправлением стал сброс всех настроек в EFI Setup.

Несмотря на все описанные выше приключения, покупкой я доволен и совершенно о ней не жалею. Будущее уже наступило!

>>> Просмотр (1920x1200, 2315 Kb)

 , ,

AITap ()

Fortran 2018: новый стандарт языка

Новости — Разработка
Группа Разработка

2-го декабря 2018-го года Международная Организация по Стандартизации (ISO) опубликовала ISO/IEC 1539:2018, ранее известный под названием Fortran 2015.

Новый стандарт расширяет возможности взаимодействия с программами на C и параллельного программирования:

  • Введён новый тип CFI_cdesc_t, содержащий информацию о типе элементов, ранге, размере передаваемого массива и способе выделения его памяти. Ранее на сторону программы, написанной на языке C, вместо массивов чисел можно было передать только «голые» указатели, и о соблюдении границ массивов приходилось заботиться вручную.
  • Введено понятие команды (team), позволяющее разделить выполняющуюся на кластере программу на несколько сравнительно независимых подмножеств процессов.
  • Появилась возможность обработки ошибок отдельных процессов кластера (fail image и аргумент stat= вызовов change team, end team, event post, form team, sync all, sync images, sync team).
  • Добавлены атомарные операции над переменными (atomic_add, atomic_and, atomic_or, atomic_xor, atomic_fetch_add, atomic_fetch_and, atomic_fetch_or, atomic_fetch_xor, atomic_cas).
  • Улучшена совместимость со стандартом ISO/IEC/IEEE 60559:2011 для чисел с плавающей запятой.

Следующая версия стандарта временно называется Fortran 202x.

Новые возможности Fortran 2018

Бесплатно доступный черновик стандарта

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

 , ,

AITap ()

Как купить лакрицу (сальмиачные конфеты) в Петербурге?

Форум — Talks

Всем привет.

Волею судеб меня завтра занесёт в Санкт-Петербург, очень ненадолго. Времени как раз хватит на то, чтобы приехать в определённый магазин, набрать там нужного мне товара и отправиться дальше. Казалось бы, всевозможной лакрицы в Окне в Европу, расположенном почти вплотную к Финляндии, должно быть полно, но запросы вида «купить лакрицу в спб» возвращают только интернет-магазины финских товаров, работающие по заказу, в течение нескольких дней и с доставкой.

Что может быть проще, чем двухкилограммовая упаковка лакричного экстракта с хлоридом аммония, которые некоторые странные люди считают съедобными? Что я делаю не так? Где в Санкт-Петербурге реально найти розничный магазин, в который можно просто прийти вечером в пятницу и взять столько лакричных конфет, сколько хватит сил унести?

P.S. Линукс тут при том, что Линус наверняка знает толк в этих конфетах.

 ,

AITap ()

13″ Linux-ноутбук с ≥4G RAM за ≤40000?

Форум — Linux-hardware

Ку.

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

  • Стоимость ≤40000 рублей, чёртова девальвация, откуда у меня вообще такие деньги
  • Работа GNU/Linux без особой потери времени работы от батареи
  • Хотя бы 4G RAM и процессор с виртуализацией (хотя последнее, как я понимаю, не проблема)
  • Реалистичное время работы от батареи хотя бы 5 часов
  • Диагональ 13±1 дюймов, мне с ним ездить в разные места
  • Слоты ОЗУ и HDD

Такое вообще бывает?

Upd: при прочих равных предпочту ноутбук без дискретной видеокарты и переключалки.

 

AITap ()

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

Форум — 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'ы со скриптами сбора пакетов.

 , ,

AITap ()

Заставить текст в дочернем div обтекать div-сиблинг при наличии textarea рядом

Форум — Web-development

Ку!

Есть общий для двух страниц шаблон (оформление сайта) и два подшаблона (показ страницы и редактирование страницы). Подшаблон рендерится в <div class=content_block>, после <div class=path_links>. У .content_block есть сиблинг .children, в него рендерится список дочерних страниц.

Показ страницы работает так, как я хочу: текст из .content_block > .content обтекает <div class="children">, расположенный справа: http://jsfiddle.net/1r6cvjt9/

При редактировании страницы в .content_block располагаются .path_links из основного шаблона и форма. Внутри формы - .edit_container, внутри него - .textarea с textarea внутри и .preview с HTML отрендеренного текста. Так вот, текст внутри .content_block > form > .edit_container > .preview не обтекает .children, а либо весь .edit_container оказывается ниже второго, либо перекрывает его: http://jsfiddle.net/zwk0jdrz/

Несомненно, я делаю что-то не так. Как заставить .preview обтекать .children?

Бонусный вопрос: как (если это возможно) растянуть textarea на всю высоту страницы без JS, средствами одного CSS?

 ,

AITap ()

Подскажите смарт-браслет или часы

Форум — Talks

Добрый вечер. Моё гугл-фу меня покинуло, ибо не может быть, чтобы ни один китаец не собрал такой простой вещи.

Требования:

  • синхронизация с компьютером по USB (у меня нет и не предвидится Bluetooth 4.0 устройств)
  • умный будильник (чтобы отслеживал фазы сна и будил в 30-минутное окно) с вибрацией
  • цена порядка 3000 рублей

Шагомер не интересует, но сойдёт в качестве бесплатного приложения. Минусом будет требование постоянно сливать данные в китайское облако.

Возможно, я не там ищу, но все смарт-браслеты, которые я откопал на Aliexpress, требуют BT 4.0 LE, есть немного, которые синхронизируются по USB, но не имеют умного будильника, SleepTracker закрыл производство, а aXbo меня совершенно не устраивает из-за цены и отсутствия вибрации.

Совсем замечательно будет, если синхронизация по USB будет работать под GNU/Linux, но это утопия. Или если устройство будет полностью самостоятельным (как обычные наручные часы).

 

AITap ()

«Хочу всё знать о компьютерах»

Форум — Talks

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

У меня уже довольно давно несколько человек просят посоветовать книгу, в которой было бы написано «в общем» о компьютерах. Причём не для чайников (компьютер состоит из телевизора, большой железной коробки и манипулятора типа «мышь»; для запуска тетриса нужно надавить стрл-алт-делете на доске с торчащими штуковинами), а поподробнее. Частные ситуации вроде книг только о Windows/только о Linux/только про x86 тоже не подходят.

Как я себе это представляю - что-то вроде упрощённой версии http://wiki.osdev.org/ и по-русски. Чтобы было рассказано, за что отвечают процессор, менеджер памяти, шины, от менеджера памяти плавно перешли бы к устройству современных ОС (ядро, загрузчик, прикладное и системное ПО), как работают программы (разделение памяти, виртуальная адресация, линковка). Что ещё стоит рассказать, не знаю, но наверняка что-то упустил. У задающих такой вопрос, понятное дело, знаний недостаточно, чтобы рассказать, о чём они хотят узнать, а ответить за один присест на него нельзя, потому что тема неподъёмно большая.

Подскажите, пожалуйста, такую книгу, если кто встречал.

 

AITap ()

Застрял на neh1m9 «To the death»

Форум — Games

Ку.

Играю в Nehahra на Darkplaces build 09:42:27 Oct 12 2012 0~20110628+svn11619-3 Debian.

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

Даже нашёл за движущимися штуковинами resurrection artifact, но ни следа кнопки, которая открывает одну из этих дверей.

Зачистил всю карту, но каждые несколько минут поисков спавнится ещё один Tsemoch, что добавляет фрустрации.

ЧЯДНТ? Где искать кнопку? Или это глюк игры?

 ,

AITap ()

Протокол почты для флоппинета

Форум — Development

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

Итак, есть черновик протокола и черновая же реализация (https://github.com/aitap/flash-mail.git). В некоторых местах там очень необъективно расходуется память, в некоторых можно специально сформированным файлом залезть в файловую систему читающего файл компьютера - это черновик. Зависимости: perl, xz, openssl.

Основная причина, по которой было решено не использовать MIME - необходимость кодировать большие бинарные файлы в текст.

Концепция общения такая: генерируем командой gen-id пару ключей, открытый складываем (export-id) в директорию на флешке. Желающие складывают его себе в keys/. Можно писать личные сообщения командой write (и указывать msgid, на который отвечаешь). Группа (вроде почтовой рассылки) создаётся как пара ключей (они будут использоваться для модерации, если дойдут руки дописать) командой gen-group, открытый ключ публикуется и складывается желающими писать в groups/. После написания сообщения архивируются на флешку (export) и копируются другими людьми (import). Просмотр дерева делается командой list, чтение - show. Если индекс сообщений вдруг сломается, есть команда reindex.

Опасайтесь багов, они повсюду. Значительная часть программы - прикрученный проволокой openssl smime.

В планах - развить программу до эдакой смеси git и gpg, придумать интерактивный протокол (для сетей, где они будут) и сменить openssl и xz на Crypt::*, Digest::* и IO::[Un]Compress::Xz.

Кому интересно?

Чуть не забыл, делается just for fun и никому не нужно. Стандарты всё равно не победить.

AITap ()

Как в QDomElement заменить подпадающие под regexp части текста на другие DOM element?

Форум — Development

Ку. Есть QDomElement, внутри - Jabber-сообщение. Нужно изо всех тегов <body>, где бы они ни попались (внутри <html>, или отдельно) вынуть подпадающий под regexp текст, скормить его некой функции, а результат сделать значением атрибута созданного на месте этого текста элемента (<img />, если быть точным).

Вопрос: как это сделать? Может ли QXmlPattern вызвать некий callback для получения $replacement для fn:replace()? Или это невозможно средствами XQuery, и нужно извращаться с API QDomElement, QDomDocument и компании? Очень не хочется удалять строковой элемент, вручную его нарезать, а потом по одному добавлять куски обратно.

Фокусы со строковыми радостями escape и unescape хочу оставить на потом как костыльные и потенциально небезопасные.

 ,

AITap ()

Микрофон в универсальном разъёме для наушников/микрофона на Asus 1011PX

Форум — Linux-hardware

Ку. Имеется Asus 1011PX, вот его alsa-info.

При подключении чего угодно в разьём для наушников/микрофона динамик отключается, а в этот разъём подаётся звук. Хотелось бы иметь возможность руками переключать это на микрофон (ещё лучше - линейный вход) и обратно. В alsamixer нашёлся только переключатель Auto Mute, который позволяет не вырубать динамик при подключении наушников. Среди доступных для Capture устройств есть «Internal Mic» (работает), «Mic» и «Internal Mic 1», записывающие тихий шум.

В /proc/asound/card0/codec#0 есть 2 интересных Node:

Node 0x18 [Pin Complex] wcaps 0x40018f: Stereo Amp-In Amp-Out 
  Control: name="Mic Boost Volume", index=0, device=0         
    ControlAmp: chs=3, dir=In, idx=0, ofs=0                   
  Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x2f, mute=0   
  Amp-In vals:  [0x00 0x00]                                   
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1  
  Amp-Out vals:  [0x80 0x80]                                  
  Pincap 0x00001734: IN OUT Detect                            
    Vref caps: HIZ 50 GRD 80                                  
  Pin Default 0x01a19c20: [Jack] Mic at Ext Rear              
    Conn = 1/8, Color = Pink                                  
    DefAssociation = 0x2, Sequence = 0x0                      
  Pin-ctls: 0x24: IN VREF_80                                  
  Unsolicited: tag=00, enabled=0                              
  Connection: 1                                               
     0x0d 
Node 0x1a [Pin Complex] wcaps 0x40018f: Stereo Amp-In Amp-Out 
  Control: name="Headphone Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0                  
  Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x2f, mute=0   
  Amp-In vals:  [0x00 0x00]                                   
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1  
  Amp-Out vals:  [0x00 0x00]                                  
  Pincap 0x0000003c: IN OUT HP Detect                         
  Pin Default 0x03211c1f: [Jack] HP Out at Ext Left           
    Conn = 1/8, Color = Black                                 
    DefAssociation = 0x1, Sequence = 0xf                      
  Pin-ctls: 0xc0: OUT HP                                      
  Unsolicited: tag=04, enabled=1                              
  Connection: 2                                               
     0x0c* 0x0d  
Особенно меня интересует второй (который 0x1a): очень похоже, что именно его настройкой можно переключить разъём на вход.

Как получать числа вроде 0x03211c1f самостоятельно, я не понял. Нагуглить удалось программы hda-analyzer и hda-jack-restack. Перебор флажков и прочих контролов в первом приводил разве что к отключению вывода на динамик/наушники или микрофона; попытки настроить что-то при помощи второго - либо к ошибкам «permission denied», когда что-то занимало звуковую карту, либо к исчезновениям контролов в alsamixer (например, удалось полностью отключить взаимодействие с этим универсальным разъёмом), либо к полному исчезновению PLAYBACK и RECORD-устройств. Кстати, вторая программа предлагала перенастроить чёрный разъём либо на другие выводящие звук варианты, либо на internal mic, больше вариантов не было.

Собственно, ищу людей, которым удалось воткнуть в такой универсальный разъём микрофон или гитару и заставить их работать.

UPD: запустил livecd Fedora 18 с ядром 3.6.10, там в микшере появилась настройка Input Source: Internal Mic / Headphone Mic и работает нормально. Завтра поставлю ядро из Liquorix, наверняка заработает.

UPD2: новое ядро, действительно, решило проблему. Надеюсь, не добавило новых.

 ,

AITap ()

Чем в наше время принято делать статичные HTML-страницы?

Форум — Web-development

Есть задача: сделать простой сайт, вроде визитки. Изменяться он, скорее всего, не будет, так что делать его решено статическими HTML-страницами.

Но верстать все страницы по одной руками - это же неудобно, особенно если учесть, что в каждой из них должно быть одинаковое меню для перехода по страницам сайта. Чем в наше время делают такие вещи? Может быть, я проглядел в Kompozer'е возможность сделать общий для всего сайта кусок страницы? Или какую-нибудь оффлайновую CMS? Ведь не на фреймах же это всё делать?

И да, хотелось бы обойтись без JS там, где это возможно.

UPD: SSI, PHP, прочие серверные вещи - это замечательно, но где в наше время можно найти _надёжный_ бесплатный хостинг с этими самыми PHP и SSI и без сюрпризов вроде «10 постов на местном форуме в неделю» или рекламы через месяц использования?

 ,

AITap ()

escu - легковесная учебная реализация coreutils

Форум — Talks

Dorif

Привет пользователям UNIX-like систем!

Я пишу небольшой набор открытых и свободных coreutils (небольшой проект, не такой фичастый, как GNU coreutils) для POSIX-совместимых ОС. Проект называется escu (сокращение от Extremelly Small CoreUtils). Писать начал, когда пожелав выучиться системному программированию по исходникам GNU Coreutils, но не смог разобраться в spaghetti code и решил их переписать согласно спецификациям The OpenGroup.

Уже есть утилиты: basename, chroot, dirname, false, head, link, ln, logname, ls, mkfifo, mv, pwd, test, true, tty, uname, unlink, yes. Многие из них уже полностью POSIX-совместимы. Я использую системные вызовы для снижения накладных расходов, а также стараюсь писать максимально простой код для облегчения понимания новичками.

Проект нацелен на максимальную переносимость, поэтому при написании используются только возможности стандартной библиотеки языка C, а для сборки будут использоваться только POSIX-совместимые make, компилятор языка C и командная оболочка.

Релизы будут выпускаться тогда, когда они будут готовы, за исключением багфиксов.

Комментарии, предложения и патчи приветствуются!



Ссылка: https://github.com/Dorif/escu

 , ,

AITap ()

Подскажите фильм

Форум — Talks

Сам не смотрел, мне только кусок пересказал знакомый. Название он тоже сообщил, но оно благополучно вылетело из памяти. Не напомните?

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

Вот. Это ведь не для Чего бы почитать/послушать/посмотреть? (2) вопрос, да?

AITap ()

Мечта параноика

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

Proof-of-concept: зашифрованный /boot! То, чего так не хватало тем людям, которые хотели полностью зашифрованную систему на одном разделе или опасались, что их нешифрованный /boot изменят, засунут в initrd трояна и таким образом получат доступ ко всем остальным данным.

Рецепт:

  • Свежий GRUB, не старше 2011-07-07 (grub-2.00 с официального сайта вполне подошёл)
  • Сборка руками, ничего интересного, но много build-dependencies.
  • grub-install оказался недостаточно умным, чтобы сработать автоматически.
    • Во-первых, эксперимент проводился на /dev/loop0, что у GRUB не было никаких шансов заметить, пришлось править .../boot/grub/device.map:
      dd if=/dev/zero of=luks.img bs=1M count=100
      losetup /dev/loop0 luks.img
      fdisk /dev/loop0
      cruptsetup luksFormat /dev/loop0p1
      cryptsetup luksOpen /dev/loop0p1 test
      mke2fs /dev/mapper/test
      mount /dev/mapper/test /mnt
      mkdir -p /mnt/boot/grub
      echo '(hd0) /dev/loop0' > /mnt/boot/grub/device.map
    • Во-вторых, по умолчанию GRUB даже не пытается открывать зашифрованные устройства:
      # share/grub/grub-mkconfig_lib
        if abstractions="`"${grub_probe}" -t abstraction "$path"`" 2>&1 ; then 
            :
        else
          return 1
        fi
      
        if [ x$GRUB_CRYPTODISK_ENABLE = xy ]; then
            return 0
        fi
        
        for abstraction in $abstractions; do
            if [ "x$abstraction" = xcryptodisk ]; then
                return 1
            fi
        done
      Чтобы он сделал такую попытку, необходимо установить переменную окружения GRUB_CRYPTODISK_ENABLE в «y».
    • В-третьих, разработчики не зря спрятали это за переменную окружения, поскольку получившийся core.img не смог прочитать таблицу разделов и увидеть зашифрованный раздел. Решилось это ручным добавлением модуля к grub-install.
    В итоге команда установки выглядела так:
    sudo env GRUB_CRYPTODISK_ENABLE=y ~/grub2/sbin/grub-install --modules=part_msdos --root-directory=/mnt/ /dev/loop0

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

А на самом скриншоте смотреть почти нечего, да.

>>> Просмотр (722x804, 17 Kb)

 

AITap ()

Xfce 4 будет окружением рабочего стола по умолчанию в Debian 7 «Wheezy»

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

Одним маленьким коммитом сделал один большой шаг в развитии дистрибутива разработчик Joey Hess, переключив окружение рабочего стола по умолчанию с GNOME (бывшего таковым как минимум последние 2 релиза системы) на Xfce.

Основной причиной перехода, по словам разработчика, был размер системы: с переключением на Xfce размер образа CD#1 (включающего как минимум окружение рабочего стола по умолчанию и локализации) стал снова подходящим для CD. Он также добавил,

Могут быть и другие причины предпочесть Xfce в качестве окружения по умолчанию, но это и сложный, и субъективный вопрос. К сожалению, в Debian нет установленной процедуры принятия таких решений, но есть чёткая процедура их проверки. Поэтому я решил быть смелым и продолжить традицию деспотического выбора окружения рабочего стола для Debian в tasksel.

>>> Оригинальный commit

 , ,

AITap ()

А оконный менеджер вашего DE умеет скрывать заголовки всех окон?

Форум — Talks

В борьбе за место на экране размером 600px по вертикали все средства хороши, и я решил отключить заголовки окон. Использую Xfce 4.8. Заглянул в Настройки->Диспетчер окон. Ничего. Заглянул в Настройки->Диспетчер окон (дополнительно). Тоже нет.

Странно. Почему такая послезная функция до сих пор может отсутствовать? Отправляю багрепорт: https://bugzilla.xfce.org/show_bug.cgi?id=9082

Ответ:
> Applications can use standard mechanism to hide their decorations.

> One of the key roles of the Window manager is to decorate applications windows (unless they ask otherwise), so such an option is denied.

Логика, конечно, в этом есть. Но даже LXDE, который некоторые считают Плутоном среди DE, благодаря своему Openbox это умеет (хотя и не «одной кнопкой»).

Вобщем, я сделал mkdir ~/.themes/No\ title\ bars && cp -r /usr/share/themes/Default/xfwm4/ ~/.themes/No\ title\ bars && mogrify -resize 1x1! ~/.themes/No\ title\ bars/xfwm4/* и выставил в настройках Xfwm соответствующую тему, но...

А оконный менеджер Вашего DE умеет скрывать заголовки всех окон?

 , ,

AITap ()

Выживаем на нетбуке

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

Обзаведясь нетбуком, я понял, что строить окружение на базе Openbox для комфортной работы на нём мне лень. Нетбук - это, всё же, не десктоп, и ему нужен какой-никакой удобный способ управления питанием, возможность быстро переключить вывод на внешний проектор, и т.п. И я поставил Xfce. Чуть позже пришло понимание того, что просто оставить одну сжатую до 20 пикселей панель недостаточно: места по вертикали ужасно не хватает.

Итак, в ролях:


  • Xfce 4.8 с единственной вертикальной панелью (ШГ в часах было единственным ШГ, которое читалось при размерах, стремящихся к 0)
  • Iceweasel с Tree Style Tab и Menu Editor (для урезания и умещения на одну горизонтальную панель с адресной строкой и кнопками). Спасибо Uzix за идею.
  • Worker, выкрашенный под *commander
  • Не настроенный косметически GVim, в котором я кое-что пишу
  • На последнем скриншоте можно заметить, что всё это отжирает 200 мегабайт ОЗУ, причём активнее всех в пожирании всех ресурсов участвует Iceweasel (он как раз скачивал и рендерил большую красочную страницу, чтобы я успел снять апплет netload в работе), а также маленький скрипт, который перенастраивает апплет «Сетевой монитор», когда меняется Default route



Также этот нетбук успел побывать лабораторным журналом и вообще активно поучаствовать в написании курсовой работы при помощи LyX, но в скриншот это не вошло.

Наверное, нужно ещё избавиться от заголовков окон.

>>> Просмотр (2048x1200, 274 Kb)

 , ,

AITap ()

Чем аппроксимировать и обработать экспериментальные данные?

Форум — Development

Ку!

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

Задача: из каждой такой зависимости найти точку пересечения окружностей. Если точка пересечения в диапазоне измеряемых значений отсутствует, аппроксимировать график эллипсом и найти его пересечение с осью абсцисс (понятно, что эллипс даст 2 пересечения; выбирать, видимо, нужно то, которое ближе к измеренному диапазону значений).

Вопрос: чем лучше всего это делать? R? Octave? Буду благодарен, если накидаете подходящих ссылок.

 , ,

AITap ()

RSS подписка на новые темы