Как запустить приложение с удаленного компьютера на своем X-сервере

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

Как запускать приложения с удаленного компьютера через ssh на своем X-сервере

1. Удалить строку “-nolisten tcp” в конфигурационном файле вашей DE (чтобы ваш X-сервер принимал внешние tcp-соединения)
2. Перезагрузить иксы (чтобы изменения вошли в силу)
3. Ввести команду “xhost +” (указываем что все внешние хосты могут использовать наш X-сервер для отображения своих красивых окошек)

на удаленном компьютере:

1. export DISPLAY=your.ip.addr.ess:0 (указать какоий дисплей использовать для всех приложений из текущей консоли)

Указанный ниже пример для рабочей станции с установленным kde4

1. На своем компьютере:

1) vim /etc/kde4/kdm/kdmrc
2) в нем найти и удалить строку ” -nolisten tcp”
3) после чего перезагрузить иксы
4) набрать команду xhost +

2. На удаленном компьютере, в терминале откуда собираетесь запускать приложения

1) export DISPLAY=your.ip.addr.ess:0 (перенаправляем весь вывод на наш дисплей)
2) для проверки запускаем kde-шные часики – вводим в удаленном терминале xclock

Если все сделали правильно – должны появиться часики – простейшее gui-приложение, запущенное на удаленном компьютере и отображаемое посредством наших иксов.

Программирование в Vim

vi editor - description of the main commands

описание основных команд редактора vi - кликабельно

Vi – редактор который умеет работать в двух режимах – пищать и не пищать. (c)

Самое главное – если на экране происходит что-то не то, не понятно как выйти из vim, непонятно как отменить все изменения в vim – жмите Esc до победного писка, а потом вводите :q! и жмите Enter.

Любителям современных IDE-комбайнов, которые, кажется, заменяют людям называющим себя программистами головы, он может показаться страшным архаизмом времен, когда интернет был юн а компьютеры были в диковинку. Но, не смотря на свой обескураживающий поначалу консольный вид, этому бодрому старичку вполне под силу завоевать ваши симпатии – бесконечный набор плагинов и широчайшие возможности настройки под себя – делают его верным соратником в деле редактирования каких-бы то ни было текстов. Тем более, порой, он вообще единственное что есть в вашем распоряжении. Тут хочется заметить про существенные отличия vi, наличиствующего на любой nix-like системе от vim (расширени vi) – достаточно существенны и голый vi как таковой используется, в основном, из безысходности, так как vim вполне подойдет для работы с малыми и средними по объему проектами.

Работа с вимом – подробные видио-инструкции на английском – тут.

Еще плагины:

автодополнение для vim – insenvim.sourceforge.net/

быстрый переход к определению метода\функции для vim – ctags.sourceforge.net/

работа с деревом проекта – The nerd tree

оптимизация комментирования – The nerd commenter

vim chaet sheet extended
расширенная шпаргалка по vim

напоминалка:

1) темный терминал :set background=dark

2) подсветка синтаксиса :syntax on

3) перенастроить его под си :set filetype=с (при условии что по адресу /usr/share/vim/vim6*. есть файл с.вим)

4) запустить make (ошибки валит в quick fix window) :make

5) открыть quick fix window :cw

6) поиск (все найденное валит в quick fix window) :grep, :vimgrep

Напоследок, глобальные статьи по настройке vim:

Советы по Vim (на английском)

Советы по Vim на русском: тут и тут

Блог на русском – http://allaboutvim.blogspot.com

Любопытный и подробный пост на хабре – http://habrahabr.ru/blogs/vim/53435/

И, по традиции доброй половины страничек с кратким описанием вима,  видео от его создателя: 7 привычек для эффективного редактировани текста.

Linux – tar – как распаковать gz bz2

Как распаковать bz2 файлы:

tar -xvfj files.tar.bz2

Как распаковать gz файлы:

tar xvfz *.tar.gz

Как заархивировать папку с помощью tar:

tar -cvzf <archive-name> <Path-to-target-folder>

пример:

tar -cvzf /tmp/my-archive /tmp/my-dir

Печать документов OpenOffice на java

Подробное описание по тематике “Печать документов OpenOffice на java” находил тут.
А вообще масса полезной инфы – там однако искать там что-то – сам черт ногу сломит.

некоторые полезные снипеты

1. Как установить ориентацию печати для документов OpenOffice на java

protected void storeDocComponent(XComponent xDoc, String storeUrl, boolean landscape) throws java.lang.Exception
{
    XStorable xStorable = (XStorable)UnoRuntime.queryInterface(XStorable.class, xDoc);
    PropertyValue[] storeProps = new PropertyValue[0];
    if(landscape)
    {
        XPrintable xPrintable = (XPrintable)UnoRuntime.queryInterface(XPrintable.class, xDoc);
        PropertyValue[] printerDesc = new PropertyValue[1];
        printerDesc[0] = new PropertyValue();
        printerDesc[0].Name = “PaperOrientation”;
        printerDesc[0].Value = PaperOrientation.LANDSCAPE;
        xPrintable.setPrinter(printerDesc);
    }
    xStorable.storeAsURL(storeUrl, storeProps);
}

2. Как установить формат печати для документов OpenOffice на java

protected void storeDocComponent(XComponent xDoc, String storeUrl, boolean landscape) throws java.lang.Exception
{
    XStorable xStorable = (XStorable)UnoRuntime.queryInterface(XStorable.class, xDoc);
    PropertyValue[] storeProps = new PropertyValue[0];
    if(landscape)
    {
        XPrintable xPrintable = (XPrintable)UnoRuntime.queryInterface(XPrintable.class, xDoc);
        PropertyValue[] printerDesc = new PropertyValue[1];
        printerDesc[0] = new PropertyValue();
        printerDesc[0].Name = “PaperFormat”;
        printerDesc[0].Value = com.sun.star.view.PaperFormat.A3;
        xPrintable.setPrinter(printerDesc);
    }
    xStorable.storeAsURL(storeUrl, storeProps);
}

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

3. Как в OpenOffice подогнать документ в заданное число страниц

    ScaleToPages:=3;//подгоняем на 3 страницы

OpenOffice – работа с OCalc на java – несколько полезных неочевидностей

1. Как создать текстовый курсор для OpenOffice OCalc на java

    cell =xSpreadsheet.getCellByPosition(0,1);
    XText xText = (XText) UnoRuntime.queryInterface(XText.class, cell);
    XTextCursor xTextCursor = xText.createTextCursor();
    // insert the string
    xText.insertString(xTextCursor, “hello open office!!”, false);  

2. Как объединить текстовые ячейки для OpenOffice OCalc на java

    OW.Tables[0].CellRangeByName[‘A2:A4’].MergeRange;

3. Как указать что заголовки не должны скролироваться для OpenOffice OCalc на java

    FreezeAtPosition – заголовки морозит

4. Как при формировании отчета отображать шапку на каждом листе для OpenOffice OCalc на java

    OC.Sheets[0].CellRange[0,0,0,0].SetAsTitleRows;
    OC.Sheets[0].CellRange[0,0,0,0].SetAsTitleColumns;

Укрощение OpenOffice OCalc на java

копать начинать отсюда:

http://wiki.services.openoffice.org/wiki/API/Samples/Java/Writer/TextTable

большая портянка кода жава, есть полезные сниппеты для разбора документа OpenOffice
http://giampow.blogspot.com/2009/11/openoffice-api-generic-document.html

длинный но полезный тред на скл.ру посвященный обсуждению и работе с OpenOffice
http://www.sql.ru/forum/actualthread.aspx?bid=20&tid=405083&pg=1