Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Темы - keremet

Страницы: 1 2 3 [4] 5 6 ... 8
46
Из репозитория bluetooth:
hg clone ssh://anon@hg.opensolaris.org/hg/bluetooth/bluetooth-gate

Подробнее: http://hub.opensolaris.org/bin/view/Community+Group+tools/hg_help

47
OpenIndiana / Репозитории
« : Июль 20, 2012, 01:34:00 am »
#pkg set-publisher -p http://pkg.openindiana.org/
pkg set-publisher -p http://pkg.openindiana.org/sfe
pkg set-publisher -p http://pkg.openindiana.org/sfe-encumbered

48
OpenIndiana / OpenOffice 3.4
« : Июль 06, 2012, 01:57:47 pm »
Скачать архив с пакетами с сайта
http://www.openfoundry.org/of/projects/1201/download

Установка:
tar xf OOo_3.4.0_Solaris_x86_install_ru.tar.gz
cd ru/packages
for i in `ls`;do yes|pkgadd -d . $i; done

50
OpenSolaris / IPS и прокси
« : Июнь 06, 2012, 07:05:00 pm »
Чтобы команда pkg начала работать через прокси, перед ней надо ввести команду типа
export http_proxy=user:passwd@192.168.1.1:8080

51
Если происходит зависание при загрузке с liveCD после выдачи первого же сообщения ядром. Может помочь отключение модуля xsvc через передачу параметра
-B disable-xsvc=true.

52
Курилка / Google Summer of Code
« : Март 24, 2012, 01:51:50 am »
Конкурс для студентов, в котором можно получить от гугла 5 килобаксов.
Идеи проектов для Illumos можно посмотреть тут: https://www.illumos.org/projects/illumos-gate/wiki/Project_Ideas

53
OpenIndiana / Firefox 8 и flash player под oi151a
« : Декабрь 03, 2011, 06:42:21 pm »
Скачать с http://get.adobe.com/flashplayer/
В архиве содержится единственный файл libflashplayer.so. Его надо скопировать в /usr/lib/firefox/plugins/
sudo cp libflashplayer.so /usr/lib/firefox/plugins/
В отличие от OpenSolaris, потребуется еще скорректировать права доступа
sudo chmod 755  /usr/lib/firefox/plugins/libflashplayer.so

Firefox 8 запускается командой ./firefox в каталоге, получающемся после распаковки архива
http://mirror2.hs-esslingen.de/ftp.mozilla.org/firefox/releases/8.0.1/contrib/solaris_tarball/firefox-8.0.1.en-US.opensolaris-i386.tar.bz2
Жаль, что он не русифицированный.

54
Сочетание Ctrl+Shift переключает с русской раскладки на английскую. Индикатор - ScrollLock.

Выключить X-сервер
sudo svcadm disable gdm

Создать конфиг X-сервера
sudo /usr/X11/bin/Xorg -configure

Скопировать его на его законное место
sudo cp xorg.conf.new /etc/X11/xorg.conf

Включить X-сервер
sudo svcadm enable gdm

Через gedit добавить в секции ServerLayout и клавиатуры те строки, которые выделены жирным шрифтом.
sudo gedit /etc/X11/xorg.conf

Section "ServerLayout"
   Identifier     "X.org Configured"
   Screen      0  "Screen0" 0 0
   InputDevice    "Mouse0" "CorePointer"
   InputDevice    "Keyboard0" "CoreKeyboard"

   Option "AllowEmptyInput" "false"
   Option "AutoAddDevices" "false"

EndSection

Section "InputDevice"
   Identifier  "Keyboard0"
   Driver      "kbd"
   Option "CoreKeyboard"
   Option "XkbRules"   "xorg"
   Option "XkbModel"   "pc105"
   Option "XkbLayout"   "us,ru(winkeys)"
   Option "XkbOptions" "grp:ctrl_shift_toggle,grp_led:scroll"

EndSection


Перезапустить X-сервер, например, выполнив команду меню "Система/Завершить сеанс пользователя".
По сравнению с OpenSolaris 2009.06 (http://forum.os-solaris.ru/index.php?topic=61.0) приятно, что нет необходимости корректировать файл с раскладкой и что IIIM отсутствует.

55
В ~/.bashrc задана переменная, отвечающая за формат приглашения командной строки
PS1='${LOGNAME}@$(/usr/bin/hostname):$(
[[ "${LOGNAME}" == "root" ]] && printf "%s" "${PWD/${HOME}/~}# " ||
    printf "%s" "${PWD/${HOME}/~}\$ ")'

Если заменить первую строчку на
PS1='${LOGNAME}@\h:$(   
при каждом отображении приглашения не будет запускаться процесс hostname, а результат не поменяется.

Мелочь, а приятно :)

57
OpenSolaris / Время создания процесса
« : Ноябрь 14, 2011, 05:41:15 pm »
Иногда бывает интересно узнать, когда был запущен процесс, сколько времени он уже работает. Для определения времени создания процесса можно использовать команду
stat -c %y /proc/744
где вместо 744 подставить ID исследуемого процесса.

58
Разработки Kirov OSUG / Добавка к терминалу
« : Октябрь 19, 2011, 02:49:27 pm »
Для во время разработки и тестирования одного скрипта мне приходилось передавать ему попеременно разные параметры командной строки. Удалять из терминала достаточно длинные параметры и вставлять вместо них другие оказалось достаточно трудоемко. Для облегчения работы была написана приведенная ниже программа. Изменение или вставка параметров делаются через строку редактирования, запуск скрипта  - по кнопке Run.

$cat testfield.cpp
#include <gtk/gtk.h>
#include <stdlib.h>
#include <string>
#include <iostream>
using namespace std;

GtkWidget *entryRunB, *entryRun, *entryRunE;

void buttonRunClicked(GtkWidget *widget, void* p) {
   string s = string(gtk_entry_get_text(GTK_ENTRY(entryRunB)))+ gtk_entry_get_text(GTK_ENTRY(entryRun))+gtk_entry_get_text(GTK_ENTRY(entryRunE));
   cout << s<<endl;
   system(s.c_str());
}

int main(int argc, char** argv) {
   gtk_init(&argc, &argv);
   GtkWidget* window    = gtk_window_new(GTK_WINDOW_TOPLEVEL);
   GtkWidget* hbox     = gtk_hbox_new(false, 0);
   gtk_container_add(GTK_CONTAINER(window), hbox);

   GtkWidget *hpaned = gtk_hpaned_new ();
   gtk_box_pack_start (GTK_BOX (hbox), hpaned, TRUE, TRUE, 0);

   entryRunB = gtk_entry_new ();
   gtk_paned_add1 (GTK_PANED (hpaned), entryRunB);
   GtkWidget *hpaned2 = gtk_hpaned_new ();
   gtk_paned_add2 (GTK_PANED (hpaned), hpaned2);
   entryRun = gtk_entry_new ();
   gtk_paned_add1 (GTK_PANED (hpaned2), entryRun);
   entryRunE = gtk_entry_new ();
   gtk_paned_add2 (GTK_PANED (hpaned2), entryRunE);

   GtkWidget* buttonRun = gtk_button_new_with_label("Run");
   gtk_box_pack_start (GTK_BOX (hbox), buttonRun, FALSE, FALSE, 0);
   g_signal_connect( G_OBJECT(buttonRun), "clicked", G_CALLBACK(buttonRunClicked), 0);
   g_signal_connect( G_OBJECT(window),  "delete_event", G_CALLBACK(gtk_main_quit), 0);
   gtk_widget_show_all(window);
   gtk_main();
   return 0;
}

$cat makefile
APP=testfield
all: $(APP)
$(APP): testfield.cpp
g++ -o$@ `pkg-config gtk+-2.0 --cflags --libs` testfield.cpp
clean:
rm -f $(APP)


В дальнейшем хорошо бы добавить ввод начала и конца команды для универсальности - динамически настраиваемое количество частей команды; возможность просмотра и выбора предыдущих команд. Ввод команды при нажатии enter. Получится хорошая надстройка над psql для работы с postgres, скорее всего и для других СУБД тоже подойдет.
Динамически настраиваемое количество строк ввода команд, вкладки, отображение вывода команды в TextView (возможность копировать по ctrl+C), сохранение/восстановление состояний из файлов.

59
Удобно настроить для доступа к skype на Linux-зоне.
http://www.opennet.ru/base/sec/ssh_pubkey_auth.txt.html

60
Один раз мне потребовалось выполнить над файлом размером 74МБ команду
sed 's/),(/);\ninsert into kladr(name,socr,code,idx,gninmb,uno,ocatd,status)values(/g'

Команда выполнялась несколько часов и сильно грузила проц. В качестве решения была написана собственная программа замены строк

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int usage(char* name){
   fprintf(stderr,"Usage: %s findStr replTo\n", name);
   return 1;
}

int main(int argc, char**argv){
   if(argc!=1+2){
   return usage(argv[0]);
   }
   const char* findStr=argv[1];
   int findStrLen=strlen(findStr);
   const char* replTo=argv[2];
   char *buf=malloc(findStrLen);
   int buflen=0;
   int c;
   while((c=getc(stdin))!=EOF){
      if(c==findStr[0]){
         buf[buflen++]=c;
         for(int i=1;i<findStrLen;i++){
            if((c=getc(stdin))!=EOF){
               buf[buflen++]=c;
               if(c==findStr[ i ])
                  continue;
            }
            for(int j=0;j<buflen;j++)
               putc(buf[j],stdout);
            goto lNextWhile;
         }         
         fputs(replTo,stdout);
         buflen=0;
      }else
         putc(c,stdout);
   lNextWhile:
      ;
   }
   free(buf);
   return 0;
}

$ cat makefile
APP=sosed
all:$(APP)
$(APP): sosed.c
   gcc -O3 -std=c99 -o$@ sosed.c



Эта команда выполняется над теми же данными за несколько секунд
sosed "),(" ");
> insert into kladr(name,socr,code,idx,gninmb,uno,ocatd,status)values(" < test > test2

Дальнейшее развитие - многопоточность

Страницы: 1 2 3 [4] 5 6 ... 8