Интересные игры без убийств
Какие вы можете порекомендовать интересные (на ваш взгляд) игры, в которых не было бы убийств (вообще, ни одного и ни при каких условиях)?
Какие вы можете порекомендовать интересные (на ваш взгляд) игры, в которых не было бы убийств (вообще, ни одного и ни при каких условиях)?
Можно ли в Дебиане автоматом поставить dev-пакеты ко всем установленным пакетам?
В Дебиане-6 cal не имеет опции, чтобы выводить первым днём недели понедельник.
Проблема неоднократно решалась:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=230004
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=609871
Несмотря на это, в Squeeze она так и не решена :-)
Оказывается, в Дебиане-6 используется «неправильный» cal из bsdmainutils, а есть ещё «правильный» cal из util-linux.
Поэтому можно просто взять cal из util-linux. Например, вот эта версия компилируется под Дебианом-6.0.4 без проблем:
ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.21/util-linux-2.21-rc2.tar.xz
Распаковываем, configure, make. Но не надо делать make install! Дело в том, что util-linux в Дебиане уже есть (без cal'а).
После компиляции берём получившийся файл cal и кладём в /usr/local/bin; файл cal.1 кладём в /usr/local/share/man/man1.
В системе будут сразу 2 cal'а: старый в /usr/local и новый в /usr/local. Общеизвестно, что файлы в /usr/local просматриваются «первее» файлов из /usr, поэтому вызываться будет «правильный» cal.
Открываем новую вкладку терминала (в старой может не сработать) и проверяем результат. cal -m должно дать то, что нужно.
Решение простое, но вдруг кому поможет сэкономить время :-)
Давным-давно я разместил результаты небольших изысканий по организации собственной раскладки в Slackware 12.1 и 13.0:
http://www.linux.org.ru/forum/desktop/3930825
Сегодня потратил почти полдня, чтобы разобраться, как заставить работать свою раскладку в Debian 6.0.1. Может, кому-нибудь пригодится, чтобы не тратить время на поиски.
Итак, добавление варианта раскладки в Дебиане. В моём случае вариант «feo» раскладки «ru».
1. На всякий случай сохранить каталог /usr/share/X11/xkb, файл /etc/default/keyboard.
2. Дописать свою раскладку в файл /usr/share/X11/xkb/symbols/ru.
Например, у меня в этом файле есть строчки:
partial alphanumeric_keys
xkb_symbols "feo" {
include "ru(common)"
name[Group1]= "Russia - Feo";
key <TLDE> { [ question, asterisk, periodcentered ] };
key <AE01> { [ exclam, 1, 0x01000301 ] };
key <AE02> { [ guillemotleft, 2, doublelowquotemark ] };
key <AE03> { [ guillemotright, 3, leftdoublequotemark ] };
key <AE04> { [ semicolon, 4, quotedbl ] };
key <AE05> { [ colon, 5, percent ] };
key <AE06> { [ comma, 6, apostrophe ] };
key <AE07> { [ period, 7, degree ] };
key <AE08> { [ underscore, 8, asciicircum ] };
key <AE09> { [ parenleft, 9, bracketleft ] };
key <AE10> { [ parenright, 0, bracketright ] };
key <AE11> { [ minus, 0x01002212, section ] };
key <AE12> { [ equal, plus, plusminus ] };
key <BKSL> { [ emdash, slash, numerosign ] };
key <AB10> { [ Cyrillic_io, Cyrillic_IO ] };
key <AD01> { [ Cyrillic_shorti, Cyrillic_SHORTI, 0x01002196 ] };
key <AD02> { [ Cyrillic_tse, Cyrillic_TSE, 0x01002191 ] };
key <AD03> { [ Cyrillic_u, Cyrillic_U, 0x01002197 ] };
key <AD04> { [ Cyrillic_ka, Cyrillic_KA ] };
key <AD05> { [ Cyrillic_ie, Cyrillic_IE ] };
key <AD06> { [ Cyrillic_en, Cyrillic_EN ] };
key <AD07> { [ Cyrillic_ghe, Cyrillic_GHE ] };
key <AD08> { [ Cyrillic_sha, Cyrillic_SHA ] };
key <AD09> { [ Cyrillic_shcha, Cyrillic_SHCHA ] };
key <AD10> { [ Cyrillic_ze, Cyrillic_ZE ] };
key <AD11> { [ Cyrillic_ha, Cyrillic_HA, 0x01002717 ] };
key <AD12> { [Cyrillic_hardsign,Cyrillic_HARDSIGN, 0x01002713 ] };
key <AC01> { [ Cyrillic_ef, Cyrillic_EF, 0x01002190 ] };
key <AC02> { [ Cyrillic_yeru, Cyrillic_YERU, 0x010021BB ] };
key <AC03> { [ Cyrillic_ve, Cyrillic_VE, 0x01002192 ] };
key <AC04> { [ Cyrillic_a, Cyrillic_A ] };
key <AC05> { [ Cyrillic_pe, Cyrillic_PE, 0x01002248 ] };
key <AC06> { [ Cyrillic_er, Cyrillic_ER, 0x010020D7 ] };
key <AC07> { [ Cyrillic_o, Cyrillic_O ] };
key <AC08> { [ Cyrillic_el, Cyrillic_EL ] };
key <AC09> { [ Cyrillic_de, Cyrillic_DE, 0x01002300 ] };
key <AC10> { [ Cyrillic_zhe, Cyrillic_ZHE ] };
key <AC11> { [ Cyrillic_e, Cyrillic_E ] };
key <AB01> { [ Cyrillic_ya, Cyrillic_YA, 0x01002199 ] };
key <AB02> { [ Cyrillic_che, Cyrillic_CHE, 0x01002193 ] };
key <AB03> { [ Cyrillic_es, Cyrillic_ES, 0x01002198 ] };
key <AB04> { [ Cyrillic_em, Cyrillic_EM, 0x010020DE ] };
key <AB05> { [ Cyrillic_i, Cyrillic_I ] };
key <AB06> { [ Cyrillic_te, Cyrillic_TE, 0x010021C4 ] };
key <AB07> { [Cyrillic_softsign,Cyrillic_SOFTSIGN ] };
key <AB08> { [ Cyrillic_be, Cyrillic_BE ] };
key <AB09> { [ Cyrillic_yu, Cyrillic_YU ] };
include "level3(ralt_switch)"
};
Приведённый выше фрагмент описывался в предыдущем посте. Он определяет вариант раскладки и вряд ли кому-нибудь, кроме меня, подойдёт без изменений :-)
3. Пункты 3—6 не очень обязательны. Влияют, наверное, на видимость новой раскладки в каких-то конфигураторах с GUI — не проверял.
/usr/share/X11/xkb/rules/base.lst
найти строчку
dos ru: DOS
feo ru: Feo
4. /usr/share/X11/xkb/rules/evdev.lst
найти строчку
dos ru: DOS
feo ru: Feo
5. /usr/share/X11/xkb/rules/base.xml
найти текст:
<variant>
<configItem>
<name>dos</name>
<description>DOS</description>
</configItem>
</variant>
<variant>
<configItem>
<name>feo</name>
<description>Feo</description>
</configItem>
</variant>
6. /usr/share/X11/xkb/rules/evdev.xml
найти текст:
<variant>
<configItem>
<name>dos</name>
<description>DOS</description>
</configItem>
</variant>
<variant>
<configItem>
<name>feo</name>
<description>Feo</description>
</configItem>
</variant>
7. А этот пункт вообще не знаю — нужен или нет.
/usr/share/console-setup/KeyboardNames.pl
Найти текст:
'ru' => {
'Bashkirian' => 'bak',
'Chuvash' => 'cv',
'Chuvash Latin' => 'cv_latin',
'DOS' => 'dos',
'Feo' => 'feo',
8. /etc/default/keyboard
изменить строку
XKBLAYOUT="us,ru"
XKBLAYOUT="us,ru(feo)"
9. Зайти в консоль, там
setupcon
10. Опробовать результат в консоли (в Иксах - после команды udevadm trigger --subsystem-match=input --action=change) Быть готовым к тому, что дополнительная секция клавиатуры с numlock'ом и прочим временно (до перезагрузки) отвалится.
11. Если что-то не получится и потребуется повторить - перед запуском setupcon сделать
touch /etc/default/keyboard.
12. Перезагрузиться и проверить результат.
В Дебиане порадовало то, что одна и та же раскладка может легко использоваться и в Иксах, и в консоли. Не порадовало то, что вместо одного или даже нуля есть как минимум 5 списков раскладок.
Кто-нибудь знает, существует ли сабж?
По мере знакомства с различными языками программирования обязательно натыкаешься на разные подлости. Я их для коллекции записываю :-)
Пока коллекция не очень большая. Я решил занести её в Википедию:
http://ru.wikipedia.org/wiki/Ловушки_языков_программирования
Надеюсь, будет интересно не только мне :-). Приглашаю критиковать и дополнять.
Кстати, ещё на эту тему:
http://alenacpp.blogspot.com/2008/10/blog-post.html
http://www.ruscript.net/scripts/32/
Вот прямо так смело :-) Что кому не нравится, что наболело, что надоело?
Давайте устроим своего рода мозговой штурм «как сделать Debian лучше».
Почему Убунту популярнее у начинающих пользователей? Это же неспроста, есть конкретные отличия, которые это определяют, и на которые разработчикам Дебиана неплохо бы обратить внимание. Далее, самый мощный вопрос: а что не даёт Дебиану вытеснить Windows с desktop'ов? Раз до сих пор не вытеснил - значит, есть что-то, и это не только «мало игр на русском».
В разговоре - по инверсии со всеми остальными разговорами на ЛОРе - приветствуются мнения пользователей Windows и не приветствуются оправдания недостатков вида «не осилил - виноват ты, а ОС не при чём».
Я начну. Не нравится, что на машине Celeron 2000 Мгц + Radeon HD2600 с настройками по умолчанию не получается посмотреть на полный экран видео - загрузка CPU 100%.
Не нравится, что нет GUI/TUI для того, чтобы указать, какое из аудиоустройств у Alsa должно быть основным. Без этого она может брать за основное что-нибудь не то и будут проблемы со звуком, причём от загрузке к загрузке это может меняться.
Не нравится, что нет списка поддерживаемого оборудования. В смысле - не для GNU/Linux вообще, а именно для Дебиана, и именно версии 6.
Не нравится, что не предусмотрено что-нибудь вроде логотипа «Ubuntu Ready». Для Убунты это предусмотрено и у производителей появляется желание поставить такой логотип на коробке рядом с «Designed for Windows XP».
А у Дебиана этого нет.
Не нравится, что нет «главного», большого и толстого, полного официального руководства к стабильной версии. Есть отдельные документы, по которым размазаны вопросы. Руководство должно покрывать все возможные аспекты использования Дебиана по крайней мере как ОС.
То есть автор каждого пакета должен сделать список задач, решаемых его пакетом, и внести в главное руководство хотя бы ссылку на свою документацию. Тогда в руководстве будет что-то вроде:
- надо запустить и настроить сервер VNC? Пожалуйста. В Дебиане это можно сделать такими-то и такими то путями, такими-то и такими-то пакетами (пристроить VNC к уже работающему X-серверу, запустить отдельный X-сервер для VNC и т.д.). У этих путей такие-то достоинства и недостатки. Если вы выбрали этот путь - вам дальше смотреть вот эту документацию, если тот - вон ту. И так по всем вопросам, по всем пакетам.
Не нравится, что документация практически всегда относится не-пойми-к-какой версии. Вечно что-то из старого выпуска, что-то из нового - и разбирайся. В общем, со стабильным выпуском должно выходить и руководство к нему. И в документе должно быть прямо указано: относится к версии N.
Не нравится слишком малое время тестирования для release candidats.
13 января 2011 - installer RC1
06 февраля 2011 - release
Итого: после около 2-х лет подготовки на тестирование окончательного варианта отвели меньше месяца. А ведь именно в это время, с появлением iso-образов RC, людям проще всего скачать, поставить и проверить дистрибутив. До появления iso с RC ИМХО тестирующих было гораздо меньше.
Посмотрите сюда:
http://bugs.debian.org/release-critical/
Видны резкие всплески количества найденных ошибок в июне 2005 (релиз 3.1), марте 2007 (релиз 4.0 в апреле), феврале 2009 (релиз 5.0) и сейчас, в феврале 2011 (релиз 6.0). Каждый всплеск длится 1-5 месяцев.
На мой взгляд, надо как следует подготовить бета-версию и громогласно объявить о её выходе. Чтобы всплеск произошёл на ней, а не на релизе. Подождать полгодика, пока пройдёт всплеск и все основные глюки будут выловлены. В течение этого времени ещё раз-другой-третий выпустить бета-версии и RC. И только потом выпустить релиз.
Не нравится, что в релизе не были автоматически выловлены серьёзные баги, которые можно было выловить автоматически. Например, не собирающиеся примеры vtk на Qt, не запускающиеся xfe и scribus из-за отсутствия libtiff.so.3 (может, это только у меня?). Да, собирать всё, что может собираться - это очень долго. Проверять на запускабельность - не так долго, но тоже затратно. Но ведь это надо делать нечасто - только перед выпуском бета-версий и RC.
Не нравится, что нет приличного GUI/TUI для настройки уровней запуска.
BootUp Manager (bum) жутко долго загружается (15 секунд на Celeron 2000!), выводит комментарии в неверной кодировке. sysv-rc-conf: очень тормозной TUI, нельзя просто остановить-запустить сервис, нельзя просто включить-выключить сервис, не трогая то, к каким уровням запуска он относится.
Конечно, многое в Дебиане мне очень нравится. Но сейчас разговор не об этом :-)
Почему-то в манах на cron и atd я не нашёл прямого ответа на такой вопрос. Допустим, cron прочитал /etc/crontab и увидел, что там на сегодня на 18:00 заказана команда shutdown -h now. Но компьютер вручную выключили раньше, в 16:34. На следующий день компьютер включили.
Что сделает cron с невыполненной командой - забудет или выполнит сразу, как сумеет, то есть выключит загружающийся компьютер?
То же самое про atd - он забывает пропущенные задания или выполняет их при первой возможности?
Можно ли в конфиге cron'а отдельно для каждого задания указывать, забывать/не забывать его?
Можно ли указывать это при назначении задания командой at?
Имеется переносной винт с ext3 и 2 компьютера.
Пишем на него каталог с машины 1. Получаем права каталога: пользователю sergey запись разрешена, его группе users запись разрешена, остальным запись запрещена. Вместо реальных имён пользователя и группы на диск, как я понимаю, записываются их номера.
Подключаем винт к машине 2. Там нумерация пользователей и групп другая. В результате права превращаются во что-нибудь типа пользователю test запись разрешена, группе usb запись разрешена, всем остальным запись запрещена. И я оказываюсь в числе этих остальных, которым запись запрещена!
Сейчас я каждый раз применяю chown -R или chmod -R, но это неудобно, особенно если речь идёт о больших объёмах данных.
Есть ли способ красивого решения этой проблемы? Скажем, монтировать винт так, чтобы система не обращала никакого внимания на права? Или хотя бы задавать umask как для vfat'а? Или хоть что-нибудь? Вроде задача элементарная и насущная для многих пользователей, а решения найти не могу.
В заголовках «Облако Меток» и «Архив Новостей» вроде бы большими должны быть только начальные буквы: «Облако меток», «Архив новостей».
Когда-то в Windows 95 была небольшая подборка MIDI-файлов. Тогда мне очень понравилась пьеса «К Элизе» Бетховена. А в дистрибутивах GNU/Linux кто-нибудь что-нибудь подобное замечал?
Можно ли сделать так, чтобы при изменении того, что у меня в списке наблюдения, Википедия высылала мне уведомление по e-mail? Как bug trackers высылают уведомления — так и здесь хочется. Мне кажется, что такая настройка обязана быть, но я её в упор не вижу :-)
После записи образа DVD Brasero ругнулся на ошибку контрольной суммы: мол, диск записался неудачно. Я на всякий случай проверил: md5sum для файла .iso и для /dev/dvd различались. Стало интересно, что же конкретно побилось. Смонтировал .iso, смонтировал записанный DVD.
Контрольные суммы всех файлов сошлись! Кто-нибудь встречал такое?
Если создать объект list<int> и записать в него много элеметнов — программа занимает заметно больше ОЗУ. Но если объект удалить — память как будто не освобождается. Как так?
Программа:
#include <stdio.h>
#include <list>
using namespace std;
int main(void) {
printf("Старт. Пока ничего не сделано. Нажмите ввод...\n");
getchar();
list<int> * pl = new list<int>;
printf("Заполнение списка...\n");
for(int i=1; i<=2000000; i++) {
(*pl).push_back(i);
}
printf("Список заполнен. Нажмите ввод...\n");
getchar();
delete pl;
printf("Список удалён. Нажмите ввод...\n");
getchar();
return 0;
} // end func main;
Запуск:
g++ ./mem.cpp && a.out
Память смотрю программой htop. До заполнения списка:
VIRT RES SHR
2672 660 572
С заполненным списком:
VIRT RES SHR
33956 31976 628
После удаления списка:
VIRT RES SHR
33956 31976 628
Здравствуй, All!
Эта тема переползла сюда из
http://www.linux.org.ru/view-message.jsp?msgid=3918784&lastmod=1249302299796
Я хочу поделиться небольшим наблюдением о том, как можно использовать в Иксах дополнительный набор символов в раскладке.
Обычно в раскладке используются 2 набора символов.
Первый набор — это всё то, что мы можем вводить без shift'а (не переключая раскладки).
Второй набор — это то, что мы вводим, зажав shift.
В терминологии xkb эти наборы называются уровнями.
Так вот, меня приятно удивило то, что кроме первого и второго уровня Иксы позволяют организовать третий и даже четвёртый.
Третий набор оказался очень удобен для ввода всяких не часто, но и не очень редко используемых символов типа «·», «„», «“», «°», «§», «±», «≈», «⌀», стрелок.
На второй уровень мы переходим удерживанием shift'а. На третий уровень я перехожу удерживанием правого Альта, также известного как AltGr. Можно настроить использование другой клавиши.
ВНИМАНИЕ! Возможно, это глюк Иксов. При использовании для перехода на третий уровень правого альта оба альта почему-то перестают работать в важных сочетаниях Ctrl-Alt-Fn (n=1...12) и Ctrl-Alt-Backspace.
Для использования уровня 3 редактируются 2 файла:
/etc/X11/xkb/symbols/ru
/etc/X11/xorg.conf
В файле .../ru определяется соответствие «коды клавиш — вводимые ими символы».
В этом файле определена общеизвестная раскладка ru с вариантом winkeys и ещё всякие варианты.
Ниже я приведу свой вариант раскладки. Он вряд ли кому-то подойдёт, потому что сильно отличается от winkeys. Но на его основе легко сделать свой собственный. Надеюсь, меня не накажут за слишком длинное сообщение, разбитое на 2 части :-)
Есть имя устройства — скажем, md0 или hdc. Как в программе на Си определить, смонтировано ли оно? Не важно, куда и сколько раз. Нужен лишь сам факт: смонтировано — не смонтировано.
Что существует в природе для организации сабжа? Хотелось бы свободное, с поддержкой кроме прочего PDF, ODT и MHT.
Не знает ли кто-нибудь простого tabbar'а для Емакса?
В смысле - классический вариант наподобие того, что в Firefox'е. Чтобы всегда висел вверху и просто симпатично отображал, какие есть буфера и позволял мышкой переключать их. И чтобы не было:
- никаких хитрых группировок вкладок. Расставлено должно быть в порядке открывания и всё;
- никаких сокрытий "ненужных" вкладок. Чтобы всегда было видно всё, что есть;
- чтобы панель вкладок не размазывалась по нескольким окнам Емакса. Т.е. чтобы не было так, что вместо одной панели три с половиной, часть вкладок на одной, часть на другой, остальные вообще неизвестно где.
Простая, казалось бы, процедура - назначить нужные мне сочетания клавиш в Емаксе - занимает у меня уже не первый день.
Странный этот Емакс со всех сторон :-)
У меня версия GNU Emacs 22.3.1.
Вот, например, такой .emacs:
(global-set-key [A-g] 'goto-line) ; переход на строку
(global-set-key [A-backspace] 'undo) ; откат
Почему-то первая привязка в иксовом варианте Емакса срабатывает по
alt-g-g вмесо alt-g.
А нажатие alt-backspace в иксовом варианте вообще вызывает удаление слова вместо отмены.
Так и должно быть?
Теперь такой конфиг:
(global-set-key [M-g] 'goto-line) ; переход на строку
(global-set-key [M-backspace] 'undo) ; откат
Первая привязка в иксовом и консольном вариантах Емакса срабатывает по alt-g-g вместо alt-g.
Вторая в иксовом варианте работает нормально, а в консольном вызывает удаление слова вместо отмены.
Это правильно?
Далее такой конфиг:
(global-set-key "\M-[" 'upcase-word)
(global-set-key [f8] 'overwrite-mode)
При этом в иксовой версии нормально работают оба сочетания (альт-[ и F8). А в консольной первое работает, а F8 почему-то вместо overwrite-mode добавляет к слову "19~" и делает upcase-word.
Ничего не понимаю!
Теперь такой конфиг:
(cua-mode)
В иксовой версии shift+стрелки обеспечивают выделение, в консольной - нет. Как так?
И вот такое:
(global-set-key [s-backspace] 'overwrite-mode)
В исксовой версии win-backspace работает нормально. Консольный же Емакс в konsole по win-backspace отрабатывает, похоже, просто backspace. В "настоящей" консоли (ушёл из Иксов по ctrl-alt-f2 и там запустил Емакс) по первому нажатию win-backspace Емакс вместо включения режима замены говорит "C-h (Type ? for further options)-".
Рассмотрим такой текст:
qwerty1
as2
zxcvbn3
Если курсор стоит на символе "1" и пару раз нажать стрелку вниз - то он встанет возле двойки, а потом на тройку. Т.е. уйдёт влево, а потом вернётся.
Как сделать так, чтобы курсор не метался влево-вправо при вертикальном перемещении? Т.е. чтобы с цифры "1" встал в позицию точно под "1", а затем на "3"?
следующие → |