LINUX.ORG.RU

Сообщения sergey_feo

 

xorg: драйвер как vesa, только с «широкими» разрешениями

Существует ли в природе сабж?
В идеале неплохо бы иметь драйвер, который мог бы установить любое доступное железу разрешение и, желательно, частоту обновления. Иначе когда видеокарта не поддерживается - приходится использовать драйвер vesa. А он не позволяет выставлять разрешения для мониторов 16:10, только 4:3. И картинка получается растянутая.

>>>

sergey_feo
()

сохранение прав при копировании на разделе NTFS

Возможно ли в GNU/Linux скопировать каталог на разделе NTFS туда же, на раздел NTFS, не растеряв при этом NTFS-ные права и всякие прочие атрибуты файлов?

>>>

sergey_feo
()

Где прописывается обозреватель по умолчанию?

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

>>>

sergey_feo
()

типы файлов, единое место описания

Существует ли в дистрибутивах GNU/Linux единое место, где можно прописать, что, например, *.doc надо открывать программой swriter?
Чтобы это поняли и mc, и konqueror, и даже firefox? Или у каждой программы / набора программ это место своё?

>>>

sergey_feo
()

xorgconfig и displaysize

Почему утилиты, переписывающие xorg.conf (xorgconfig, dpkg-reconfigure xorg, xorgsetup и наверняка большинство других) никогда не вставляют параметр DisplaySize? Неужели Иксы умеют спрашивать у монитора его размеры?

>>>

sergey_feo
()

[bash] добыча кодов возврата из конвеера

Привет всем!

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

Вот такая попытка (вместо имени скрипта - true/false):

#!/bin/bash

echo "----------"

echo "ok:"
true | tee ./test1.log

if [ "$?" = "0" ] ;then
  echo "ok"
else
  echo "fail"
fi

echo "---"

echo "fail:"
false | tee ./test2.log

if [ "$?" = "0" ] ;then
  echo "ok"
else
  echo "fail"
fi

echo "-----------"

дала вот такой результат:

----------
ok:
ok
---
fail:
ok
-----------

Почему? Код возврата конвеера - это то, что вернула последняя команда в конвеере? Вроде бы вот так эта мысль подтверждается:

false | true | true
if [ "$?" = "0" ] ;then
  echo "ok"
else
  echo "fail"
fi

true | true | false
if [ "$?" = "0" ] ;then
  echo "ok"
else
  echo "fail"
fi

Ответ:

ok
fail

Как-то странно. По-моему, логичнее было бы вычислять код возврата по всему конвееру: если хоть одна неудача - значит, неудача; иначе успех.

Далее:

#!/bin/bash

echo "----------"

RES=5
echo "ok:"
(true && RES=0) | tee ./test1.log
echo "RES=" $RES


echo "---"

RES=5
echo "fail:"
(false && RES=0) | tee ./test2.log
echo "RES=" $RES

echo "-----------"

Дало:

----------
ok:
RES= 5
---
fail:
RES= 5
-----------

Почему не так:

----------
ok:
RES= 0
---
fail:
RES= 5
-----------

В чём тут подвох?

>>>

 

sergey_feo
()

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

Что теоретически будет, если USB-диск с разделом ext3 за luks взять и просто выдернуть во время работы? Без luks ext3, наверное, выдержал бы такое, а вот с ним?

И ещё: если при смонтированном зашифрованном разделе дать команду halt или что-нибудь в этом роде - система сама корректно размонтирует его или может недоразмонтировать и напортачить?

>>>

sergey_feo
()

Аду считали раздутой... А не слишком ли раздулись потомки C?

Когда-то был ANSI C 89 и Ада-83. И при сравнении их друг с другом Аду ругали за то, что она очень большая, раздутая, и что зря туда включено столько всего.
Но постепенно стала вырисовываться интересная тенденция.
Что было в Аде и не было в С?
- пакеты. В C++ теперь их функции разбиты между классами и
пространствами имён. Да и .h в #include исчезло не с проста.
- generics. Теперь в С++ есть шаблоны.
- исключения. Теперь они есть в С++.
- перегрузка функций. Теперь она есть в С++.
- access-типы. Теперь в C++ говорят о smart pointers.
- особый статус переменной цикла: for I in range ... - I существует
только внутри for. Теперь в С++ принято for (int i...
- диапазоны. В Аде было:
my_array: array (0 .. 4) of integer := (1, 2, 3, 4, 5);
for x in my_array'range loop
...
end loop;
В C++0x планируется:
int my_array[5] = {1, 2, 3, 4, 5};
for(int &x : my_array)
{
...
}
- поддержка многопоточности. Она уже назрела в C++0x.
- проверка выхода за границы массивов. Об этом наконец-то подумали в C#.

Теперь про большой размер Ады пишут как про старый миф: "Ада - слишком большой и сложный язык, для того чтобы использовать его в
небольшом проекте" -> "Объем и сложность всех современных индустриальных языков практически одинаковы, и чтобы убедиться в этом, достаточно просто сравнить объем их описаний. Этот миф восходит к началу 80-х годов, когда Аду сопоставляли с Паскалем, Фортраном 77 или Бейсиком." (Язык Ада - двадцать лет спустя. Сергей Рыбин, Василий Фофанов).

Помните, какой толщины K&R? А теперь сравните с толщиной книги Страуструпа по С++. K&R писали, что С сам по себе - небольшой язык, и программист может быть уверен, что знает его весь. А теперь? И оно всё растёт, растёт и растёт... Взгляните ради интереса на http://en.wikipedia.org/wiki/C%2B%2B0x. И все книжки по С++ в магазине пугают своей толщиной.

Короче, вывод: а не пора ли пообрезать С++ раза в 3? А то будет таким толстым, что в дверь не пролезет.

P.S. Примеры с небольшими изменениями взяты из Википедии.
P.P.S. Как всё-таки интересно наблюдать за развитием языков и взаимными передираниями. Не только С брал то, что уже было в Аде (я не утверждаю, что дралось именно с Ады, конечно). Ада тоже со слюнями зависти смотрела на развитие С. И сравнительно недавно передрала STL.
А сколько ещё C, имхо, предстоит перенять... Например, есть такие чудесные и ещё не содранные вещи, как "named parameter notation"; строгая типизация; массивы, начинающиеся не с нуля, красивый выход из глубоко вложенных циклов, в конце концов:
my_loop1: while not end_of_file(file_handle) loop
my_loop2: for i in buffer'range loop
...
exit my_loop1 when buffer(i) = PERCENT;
end loop my_loop2;
end loop my_loop1;

>>>

sergey_feo
()

[C++] Затратны ли неиспользуемые функции

Рассмотрим такой гипотетический пример: есть программа, состоящая всего из двух файлов: x.h и x.c. Если в этой программе есть 1 000 000 функций, а вызывается из них всего 3 - то после компилляции в итоговом elf-файле окажутся все 1 000 000 или только 3 нужные?

>>>

 

sergey_feo
()

dm-crypt не из-под root'а

Тривиальная задача: как не-root'у смонтировать зашифрованный раздел?
Раздел зашифрован обычным dm-crypt (без LUKS).
pmount не может взять ни сам зашифрованный раздел (умеет только разделы с LUKS), ни расшифрованный вариант /dev/mapper/... .
Как красиво решить задачу?

>>>

sergey_feo
()

Простейший редактор записей с DVD

Элементарный вопрос. Чем можно подредактировать записи с обычного домашнего DVD-recorder'а? Нужны только простейшие операции: резка-склейка.

>>>

sergey_feo
()

Re: Чёрный квадрат вместо фильма

Когда-то я поднимал эту тему, но проблему так и не удалось решить:
"При попытке просмотра фильма под Debian Etch из xine или kaboodle вместо фильма показывается чёрный экран (как в окне, так и в полноэкранном режиме). Видеокарта - Radeon9600. Под Виндами - порядок, под Slackware 10.0 - тоже почти порядок. В чём может крыться проблема?"
Потом выяснилось, что это не зависит от видеопроигрывателя. От загрузки к загрузке изредка начинают показывать все, чаще - никакой. Потом выяснилось, что на похожей конфигурации под Виндой возможна точно такая же проблема. А потом отцу надоело это безобразие и он выяснил причину :-), которую я сообщу здесь: мало ли кому пригодится. У видюшки два выхода: аналоговый и DVI. У монитора 2 входа. Так как в BIOS / загрузчике / Винде / Дебиане работает то один, то другой, то чтобы не смотреть на пустой экран - были прицеплены оба кабеля. Оказалось, что если сигнал идёт по аналоговому каналу - то вместо видео чёрный квадрат. Если по DVI - всё нормально. Чтобы канал не выбирался как придётся - хотел было заменить в xorg.conf BusID с 1:0:0 на имеющуюся согласно X -scanpci вторую 1:0:1, но Иксы напрочь отказались запускаться, ругаясь на непрописанность 1:0:0. Странно. Потом прописал в секции screen такую штуку (подошло для драйвера ati): Option "MonitorLayout TMDS, NONE". Заработали одновременно цифровой выход и кривовато - аналоговый. Опять странно, я хотел только цифровой. Почему NONE значит не "нету", а "что-то там выдать"?.. Остановился на варианте Option "MonitorLayout TMDS, TMDS": нормально работают оба канала одновременно. Если вместо кино чёрный квадрат - жму на мониторе кнопку переключения источника и наслаждаюсь фильмом :-)

>>>

sergey_feo
()

Свобода и дистростроители

Насколько хорошо разделены в вашем любимом дистрибутиве свободные и
несвободные программы? Насколько ясно при установке дистрибутива, что вы
ставите свободное, а что - не очень?
И насколько Вам важна свободность используемых программ?
Мой случай: slackware, особо несвободное вроде не ставится, важно :-)

>>>

sergey_feo
()

Смена каталога из меню mc

Привет всем!

Задача: при использовании пользовательского меню mc после выполнения
некоторых действий перейти в нужный каталог.
Например, будучи в /dev/disk/by-label, сделать pmount %f && как-то_перейти_в /media/%f

Что пытался делать:
Из справки mc: ""%cd" Это специальный макрос, используемый для
перехода из текущего каталога в каталог, указанный перед этим
макросом".
Делаю такой пункт в меню:
x       go to
        %f %cd
Навожу курсор на любой каталог (скажем, GNUstep), вызываю по F2 меню,
жму ввод на пункте "go to". Результат:
sergey@fc2:~$  /tmp/mc-sergey/mcusrTpPBAa
/tmp/mc-sergey/mcusrTpPBAa: line 2: GNUstep: command not found

Вариант
x       go to
        cd %f
тоже не срабатывает:
sergey@fc2:~$  /tmp/mc-sergey/mcusrGtzV1a
- и всё, ничего не происходит.

Вопрос: а как надо? :-)

>>>

sergey_feo
()

Что случилось с Лексиконом?

Сабж. Была версия 5.1, а о дальнейшей судьбе программы - ни слуху не духу. Не нашёл даже фразы вроде "версия 5.1 была последней, мы прогорели". Что там случилось?
И если уж Лексикон помер, то может быть, предложить держателям прав передать его open-source community? Ведь эта штука imho будет поприличнее rword / abiword, там есть за что цепляться. Возможно, этот шаг воскресил бы "народный текстовый редактор". Мне кажется, пример StarOffice очень показателен. Был бы он сейчас жив, останься proprietar'ным?

>>>

sergey_feo
()

Чёрный квадрат вместо фильма

При попытке просмотра фильма под Debian Etch из xine или kaboodle вместо фильма показывается чёрный экран (как в окне, так и в полноэкранном режиме). Видеокарта - Radeon9600. Под Виндами - порядок, под Slackware 10.0 - тоже почти порядок. В чём может крыться проблема?
Вот весь нехитрый xorg.conf:
# /etc/X11/xorg.conf (xorg X Window System server configuration file)
#
# This file was generated by dexconf, the Debian X Configuration tool, using
# values from the debconf database.
#
# Edit this file with caution, and see the /etc/X11/xorg.conf manual page.
# (Type "man /etc/X11/xorg.conf" at the shell prompt.)
#
# This file is automatically updated on xserver-xorg package upgrades *only*
# if it has not been modified since the last upgrade of the xserver-xorg
# package.
#
# If you have edited this file but would like it to be automatically updated
# again, run the following command:
# sudo dpkg-reconfigure -phigh xserver-xorg

Section "Files"
FontPath "/usr/share/fonts/X11/misc"
FontPath "/usr/X11R6/lib/X11/fonts/misc"
FontPath "/usr/share/fonts/X11/cyrillic"
FontPath "/usr/X11R6/lib/X11/fonts/cyrillic"
FontPath "/usr/share/fonts/X11/100dpi/:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/100dpi/:unscaled"
FontPath "/usr/share/fonts/X11/75dpi/:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi/:unscaled"
FontPath "/usr/share/fonts/X11/Type1"
FontPath "/usr/X11R6/lib/X11/fonts/Type1"
FontPath "/usr/share/fonts/X11/100dpi"
FontPath "/usr/X11R6/lib/X11/fonts/100dpi"
FontPath "/usr/share/fonts/X11/75dpi"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi"
# path to defoma fonts
FontPath "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType"
EndSection

Section "Module"
Load "bitmap"
Load "ddc"
Load "dri"
Load "extmod"
Load "freetype"
Load "glx"
Load "int10"
Load "vbe"
EndSection

Section "InputDevice"
Identifier "Generic Keyboard"
Driver "kbd"
Option "CoreKeyboard"
Option "XkbRules" "xorg"
Option "XkbModel" "pc104"
Option "XkbLayout" "us,ru"
Option "XkbOptions" "grp:ctrl_shift_toggle,grp_led:scroll"
EndSection

Section "InputDevice"
Identifier "Configured Mouse"
Driver "mouse"
Option "CorePointer"
Option "Device" "/dev/input/mice"
Option "Protocol" "ImPS/2"
EndSection

Section "Device"
Identifier "ATI Technologies Inc RV350 AP [Radeon 9600]"
Driver "ati"
BusID "PCI:1:0:0"
EndSection

Section "Monitor"
Identifier "SyncMaster"
Option "DPMS"
DisplaySize 451 281
EndSection

Section "Screen"
Identifier "Default Screen"
Device "ATI Technologies Inc RV350 AP [Radeon 9600]"
Monitor "SyncMaster"
DefaultDepth 24
SubSection "Display"
Depth 1
Modes "1680x1050" "1280x1024" "1280x960" "1152x864" "1024x768" "832x624" "800x600" "720x400" "640x480"
EndSubSection
SubSection "Display"
Depth 4
Modes "1680x1050" "1280x1024" "1280x960" "1152x864" "1024x768" "832x624" "800x600" "720x400" "640x480"
EndSubSection
SubSection "Display"
Depth 8
Modes "1680x1050" "1280x1024" "1280x960" "1152x864" "1024x768" "832x624" "800x600" "720x400" "640x480"
EndSubSection
SubSection "Display"
Depth 15
Modes "1680x1050" "1280x1024" "1280x960" "1152x864" "1024x768" "832x624" "800x600" "720x400" "640x480"
EndSubSection
SubSection "Display"
Depth 16
Modes "1680x1050" "1280x1024" "1280x960" "1152x864" "1024x768" "832x624" "800x600" "720x400" "640x480"
EndSubSection
SubSection "Display"
Depth 24
Modes "1680x1050" "1280x1024" "1280x960" "1152x864" "1024x768" "832x624" "800x600" "720x400" "640x480"
EndSubSection
EndSection

Section "ServerLayout"
Identifier "Default Layout"
Screen "Default Screen"
InputDevice "Generic Keyboard"
InputDevice "Configured Mouse"
EndSection

Section "DRI"
Mode 0666
EndSection

>>>

sergey_feo
()

Видео с 3D и без проприетарности

Существует ли в природе сабж? Видеокарта пусть в 1,5 раза тормознее аналогов от nvidia/ati, пусть в 1,5 раза дороже, но чтобы все 3D и не 3D - функции полностью поддерживались свобожными драйверами?

>>>

sergey_feo
()

Съезжают номера устройств в /dev для флешки

Привет всем!

Имеется Slackware 10.0 на ядре 2.4.26. Старая, но прекрасно работает :-) Так вот, есть одна неприятная вещь. Когда система свежезапущенная - флешки видятся как /dev/sda1. После некоторого времени работы и втыканий-вытыканий флешки начинают работать через /dev/sdb1. К концу дня оно доезжает до /dev/sdd1. При этом в любой момент времени вставлено не более одной флешки. Почему так съезжают устройства в /dev? Как от этого избавиться? Только без автомонтировщиков :-)

>>>

sergey_feo
()

Глюки обозревателей

Привет всем!

Вот пересматриваю я списки багов iceweasel / firefox и не могу понять: неужели только у одного меня если сделать "save as" и поменять имя, в том числе стерев расширение html, то оно (расширение) автоматически не добавится?

И, кстати, встречал ли народ такие подлости у Оперы:
- если сохранять страницы с какими попало именами, то на особо кривых именах Опера промалчивает и не сохраняет страницы;
- если сохранить, скажем, pdf-ник в каталог с русским имененм, а потом из вкладки "загрузки" попытаться открыть его - Опера запутается в этом русском имени?

>>>

sergey_feo
()

Шрифты: автоподстановка символов - где почитать?

Когда в документе OpenOffice прописан шрифт, которого нет в системе, или когда затребован символ, которого нет в шрифте - автоматически подставляются символы из другого шрифта. Вопрос: кто за это xorg? И где хорошо написано, как эта подстановка настраивается?

sergey_feo
()

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