anton_nazarov: (Default)
Если вы используете оконный менеджер вроде dwm или xmonad, то вам может пригодится следующий трюк.

В .emacs добавить
(defun my-server-edit (&optional arg) 
  (interactive)
  (server-edit arg)
  (start-process "switch" nil shell-file-name shell-command-switch "xdotool key \"super+Tab\""))
(global-set-key "\C-x#" 'my-server-edit)

В .bashrc
export EDITOR=myemacsclient

А в ~/bin/myemacsclient
#! /bin/bash
xdotool key 'super+1'
emacsclient "$@"


Теперь при нажатии C-x C-e в окне терминала произойдет переключение на первое рабочее место, где у вас висит emacs, а после завершения редактирования командной строки - обратное переключение на окно терминала. Ну и в .conkerorrc можно добавить
editor_shell_command="myemacsclient";

Про TTY

Jun. 4th, 2012 05:14 pm
anton_nazarov: (Default)
Мне тут рассказали, что мой журнал я веду на пару с андроидом.
Эта ссылка точно от андроида:
http://www.linusakesson.net/programming/tty/
Все, что вы хотели узнать о консоли в Unix/Linux.
Пример - эмуляция работы через телетайп, символ # обозначает удаление, @ - зачеркивание всей строки:
nazarov@nazarov-HP:~$ sh
$ stty erase \# kill @ -crterase -echok
$ ls @wc -l /etvc##c/passwd
31 /etc/passwd
$ ls^?#
bin  books  Desktop  distr  doc  News  pictures  science  sdcard.tar.gz  #tt.txt#
$ /^?s##stty sane
sh: /stty: not found
$ stty sane
anton_nazarov: (Default)
01:42 15.02.2012
@naa: *fun *geek *linux
Leet hacking skilz: Maxima (maxima.sf.net) работает на Nook Simple Touch

read more at Anton Nazarov (naa) - Juick

anton_nazarov: (Default)
Если вы еще не видели, срочно смотреть.
Работает только в новых браузерах (Firefox 4, Chrome).

Про VNC

Jan. 23rd, 2011 01:52 pm
anton_nazarov: (Default)
К предыдущему посту.

С VNC все оказалось просто, даже если на сервере vncserver не установлен и нет пароля рута.
На сервере достаточно скачать отсюда VNC Free Edition for Linux (x86) в tar.gz архиве, распаковать и запустить vncserver. При этом предложат задать пароль для большей безопасности и будет выдан номер виртуального дисплея X.

На клиенте удобно использовать SSVNC. Эта программа легко настраивает vnc соединение через ssh-туннель. Дотаточно указать user@host:DISPLAY в поле "VNC Host:Display" и VNC-пароль, который указывался при запуске VNC-сервера. Затем поставить галку "Use SSH" и нажать "Connect".

VNC-сессии спокойно переживают отключение клиента и его подключение с другого компьютера.
anton_nazarov: (Default)

У меня иногда возникает необходимость работать за чужими компьютерами, да ещё и под Windows. То это какой-то из кафедральных компьютеров, иногда компьютер в комнате оптиков или чей-то ноутбук. В такой ситуации часто сложно сделать что-либо полезное - редко когда на чужом компьютере есть LaTeX, Mathematica или Maple, Emacs или средства разработки.

Да даже если и есть, то нет доступа к литературе или какие-нибудь нужные исходники отсутствуют на GitHub.

Выход в удаленной работе на какой-нибудь машине. Одно из простых решений - использование ssh. Например, для этого у нас на кафедре есть машины pink и heps. Можно использовать аккаунт на cern-овском кластере или на shell.tor.hu.

В Windows достаточно скачать Portable putty и можно работать в привычном окружении и с привычными инструментами. Но только с консольными :(

При этом от обрывов связи помогает замечательная программа screen.

Кроме того, при помощи screen можно отключиться от сервера и продолжить работу позднее, возможно даже с другой машины. Это бывает важно, когда подключаешься с чужого компьютера и компьютер становится внезапно нужен хозяину :)

К сожалению, с оконными приложениями не все так просто.

Во-первых, для удаленной работы с оконными приложениями нужно помимо ssh-клиента иметь на машине локальной X Server. (Сейчас я не рассматриваю такие варианты, как VNC, так как они требуют установки нетривиального программного обеспечения на удаленную машину, где может не быть root-доступа). Практически единственный бесплатный вариант под Windows - это Xming. Он требует установки, что не всегда удобно.

К счастью, есть такой приятный продукт, как MobaXterm - переносимое приложение (1 exe-файл), в котором упакован Xming, ssh-client и даже некоторые консольные утилиты из Cygwin.

После запуска MobaXterm нужно выбрать локальную сессию, а в окне терминала написать ssh -X user@host

Затем можно запускать приложения, например firefox & или emacs &.

Однако тут возникают некоторые проблемы. Во-первых, это обрыв соединения. Настройки ssh-сервера в Linux по умолчанию таковы, что для поддержания соединения используются TCP keep alive-пакеты, которые не шифруются и не всегда проходят через NAT. В результате неактивное соединение закрывается сервером через считанные минуты, а соответствующие X-приложения падают.

Чтобы обойти данную проблему и не терять соединения (и запущенных приложений!) при неактивности или кратковременном обрыве связи можно использовать опции ssh-клиента ssh -o ServerAliveInterval 30 -o TCPKeepAlive no -o ServerAliveCountMax 9999

Совсем хороший результат дают настройки сервера (в /etc/ssh/sshd_config) TCPKeepAlive no ClientAliveInterval 30 ClientAliveCountMax 20160

В результате машину-клиента можно hibernate-ить даже на часы и дни, а после включения ssh-соединение останется активным, а X-приложения продолжат работу.

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

Есть старая программка xmove, которая позволяет перемещать приложения между разными X-серверами. Программа уже давно не развивается, но все ещё работает. Для ее сборки практически ничего не нужно, кроме компилятора и заголовков X-библиотек.

wget http://archlinux-stuff.googlecode.com/files/xmove-2.0beta2.tar.gz
tar xzf xmove-2.0beta2.tar.gz
cd xmove-2.0beta2/xmove
xmkmf
make
cd ../xmovectrl
xmkmf    
make

Однако при использовании возникают проблемы с аутентификацией. Подробности описаны тут Проще всего сделать три скриптика:

  1. xmove.sh запускает xmove и настраивает аутентификацию

    #!/bin/bash
    killall -9 xmove 
    nohup xmove -server localhost:10 -port 9 &
    cookie=`xauth list |grep hostname/unix:10 |cut -d ' ' -f 5`
    xauth add localhost:10  MIT-MAGIC-COOKIE-1 $cookie
    export DISPLAY=:9
    

    Здесь hostname - имя вашего сервера

  2. xmove-suspend.sh - приостанавливает работу всех X-приложений, запущенных через xmove (на DISPLAY=:9). После этого можно закрыть ssh-соединение.

        #!/bin/bash
        DISPLAY=:9 xmovectrl -moveall -suspend
    
  3. xmove-resume.sh - возобновляет работу всех X-приложений, запущенных через xmove (на DISPLAY=:9).

            #!/bin/bash
        cookie=`xauth list |grep hostname/unix:10 |cut -d ' ' -f 5`
        xauth add localhost:10  MIT-MAGIC-COOKIE-1 $cookie
        export DISPLAY=:9
        xmovectrl -moveall localhost:10
    

Теоретически, можно зайти по ssh с одной машины, поработать с какими-то приложениями, приостановить их, отключиться. Потом подключиться по ssh с другой машины и продолжить работу. Я так пока не пробовал, а только пробовал запустить приложения, приостановить их, отключиться, выключить машину-клиента, а затем подключиться и продолжить работу на следующий день.

К сожалению, у xmove есть существенный недостаток - при его использовании сильно падает скорость отрисовки, что достаточно неприятно при не слишком быстром соединении. Что удивительно, emacs подвержен этой проблеме сильнее, чем firefox.

Существует более новое аналогичное решение - Xpra. Но оно требует наличия на сервере python2.6 и pygtk, чего на нашей кафедральной машине нет. Так что я его не пробовал.

Может быть кто-то может что-то добавить к приведенному рецепту или предложить действительно удобную альтернативу, стойкую к неожиданным обрывам связи?

Update
Оказалось, что VNC устанавливается и настраивается совсем просто, так что проблема решена.

anton_nazarov: (Default)
Резонно решил, что прежде чем искать причину проблемы из предыдущего поста нужно обновиться. Обновил Ubuntu с 9.10 на 10.04.1 (LTS) и проблема исчезла - просто перестали работать X-ы, hibernate и wifi. В результате, снес это безобразие и поставил уютный Debian Squeeze (Testing).
anton_nazarov: (Default)
У меня такая проблемка - иногда падают X-ы, причем происходит это как-то не систематически, раз в пару недель. Обычно при переключении между Conkeror и Emacs (да, два самых используемых приложения :))
Кто знает, как искать, в чем дело?

Система Ubuntu 9.10, dwm. Виделкарта Radeon Mobility 9200, драйверы опенсурсные. В логах вот такое:

Backtrace: 0: /usr/bin/X11/X(xorg_backtrace+0x3b) [0x8133d6b]
1: /usr/bin/X11/X(xf86SigHandler+0x55) [0x80c7d35]
2: [0x247400]
3: /usr/bin/X11/X(CompositePicture+0x87) [0x8171587]
4: /usr/bin/X11/X(miGlyphs+0x3ea) [0x816d90a]
5: /usr/lib/xorg/modules//libxaa.so(XAAGlyphs+0x1e0) [0x3441d0]
6: /usr/bin/X11/X [0x817f7d8]
7: /usr/bin/X11/X(CompositeGlyphs+0xa5) [0x816dba5]
8: /usr/bin/X11/X [0x8178657]
9: /usr/bin/X11/X [0x81742e5]
10: /usr/bin/X11/X(Dispatch+0x35f) [0x808d17f]
11: /usr/bin/X11/X(main+0x395) [0x8072515]
12: /lib/tls/i686/cmov/libc.so.6(__libc_start_main+0xe6) [0x69cb56]
13: /usr/bin/X11/X [0x80719c1] Saw signal 11. Server aborting.

Могу ещё содержимое xorg.conf выложить, если это может быть полезно.Этот пост на Posterous

anton_nazarov: (Default)
В Adobe наконец-то исправили легендарный баг со вводом русских (интернациональных) символов во Flash, который был открыт более двух лет и из-за которого нельзя было пользоваться многими flash-приложениями на платформах, отличных от Windows XP.

Пока исправленная версия выложена как релиз-кандидат тут. Что особенно приятно, нет никаких дурацких инсталляторов, просто файл libflashplayer.so в архиве. В Ubuntu его достаточно скопировать в /usr/lib/adobe-flashplugin.
anton_nazarov: (Default)
Недавно я прочитал на ЛОР-е про выход новой версии (0.9.8) программы ScanTailor. До этого я не слышал про эту замечательную программу, хотя она есть в репозитории Ubuntu.

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

Для кодирования в формат DJVU в Linux можно использовать MiniDJVU, примерно так:
  ./minidjvu -l -s -c *.tiff out.djvu

или программы от LizardTech (DjvuSolo, DjvuExpress, DjvuPro), которые хорошо работают под Wine-ом.

У меня было две отснятых книжки, поэтому я поигрался с программкой и сделал их. Качество не очень, к сожалению.

Kass, Moody, Patera, Slansky. Affine Lie algebras, weight multiplicities, branching rules. Volume 1

Etingof - Lectures on quantum groups

Если кто-нибудь умеет, то можно добавить их в "Колхоз".
anton_nazarov: (Default)
Если вы хотите, чтобы интерфейс Mathematica под Linux из ужасно тормозного стал просто тормозным, воспользуйтесь вот этим решением: http://ubuntuforums.org/showpost.php?p=7515845&postcount=56
Работает для версий ядра > 2.6.27

Бонус
Документация к Mathematica в формате PDF. Мне её сильно не хватало.
anton_nazarov: (Default)
Возникла тут проблема с принтерами на кафедре, опишу решение - вдруг кому-то будет полезно.
Проблема такая - наш доблестный отдел закупок купил по нашей заявке принтер/сканер/копир Xerox WC 4118, но купил, конечно же, более дешевую версию без Ethernet-интерфейса. Никаких проблем с подключением по USB нету, но в более дешевой версии принтер не поддерживает PostScript, а работает только посредством драйверов, которые, естественно, есть только для Windows.

Так как большинство компьютеров на кафедре все-таки под Windows, то проблема не столь уж велика - подключили принтер к компьютеру с Windows и все. Но печатать с Linux-машин тоже хочется, а драйвер есть только для более продвинутой модели.

Решение состоит в использовании Ghostscript и программы RedMon для создания виртуального PostScript-принтера. Пошаговая инструкция здесь: http://www.stat.tamu.edu/~henrik/GSPSprinter/GSPSprinter.html
anton_nazarov: (Default)
Специальный livecd Thnake содержит emacs 22.3 (включая gnus), python 2.5, tcl/tk 8.5 и sbcl 1.0.20.
Для разработки на lisp есть slime. В качестве браузера используется Conkeror, основанный на движке Firefox-а и использующий сочетания клавиш Emacs, очень быстрый и довольно удобный.
Весит всё это счастье всего 110 мегабайт.
Я поставил на флешку по этой инструкции.
После загрузки у меня заработал звук и wifi, легко подключился диск и русский язык.

Profile

anton_nazarov: (Default)
anton_nazarov

September 2014

S M T W T F S
 123456
78910111213
14 151617181920
21222324252627
282930    

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Sep. 21st, 2017 05:02 am
Powered by Dreamwidth Studios