Модераторы: xvr
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Команды UNIX систем, Получение системной информации 
V
    Опции темы
TwisT_X
Дата 10.1.2009, 15:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


It's works!
**


Профиль
Группа: Участник
Сообщений: 293
Регистрация: 15.2.2005
Где: Earth

Репутация: нет
Всего: 4



Здравствуйте!
Сейчас работаю над приложением (в KDE 3.5 (Kubuntu 8.04)) таким своеобразным системным мониторингом в KDevelop.. 
И возникло пару вопросов по командам системного администрирования.. Помогите пожалуйста:

- используемая оконная оболочка;
- имя хоста;
- путь к временному каталогу пользователя;
- используемая SHELL-оболочка..

 
Подскажите пожалуйста: какие команды надо использовать в своем приложении, что бы получить такую информацию?  smile 


--------------------
Если ты упадешь я буду рядом. (с) Асфальт
PM MAIL WWW   Вверх
krwlr
Дата 10.1.2009, 15:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 383
Регистрация: 6.12.2006

Репутация: нет
Всего: 51



Цитата(TwisT_X @  10.1.2009,  15:36 Найти цитируемый пост)
- используемая оконная оболочка;
- имя хоста;
- путь к временному каталогу пользователя;
- используемая SHELL-оболочка

kde(kwin)
hostname
/tmp
/bin/sh



--------------------
убрал
PM   Вверх
TwisT_X
Дата 10.1.2009, 15:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


It's works!
**


Профиль
Группа: Участник
Сообщений: 293
Регистрация: 15.2.2005
Где: Earth

Репутация: нет
Всего: 4



krwlr, я наверное немного не правильно сформулировал что мне надо.. Сейчас попробую по другому:

У меня есть кнопка.. При нажатии на которую в разных LineEdit появиться нужная мне информация..
Вот у меня вопрос: какую команду надо набрать в коде программы что бы вывелись результаты?

Например:
- имя хоста                                      ---> hostname
- используемая SHELL-оболочка      ---> echo $SHELL

А вот две другие команды я найти не могу(((


--------------------
Если ты упадешь я буду рядом. (с) Асфальт
PM MAIL WWW   Вверх
krwlr
Дата 10.1.2009, 15:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 383
Регистрация: 6.12.2006

Репутация: нет
Всего: 51



Цитата(TwisT_X @  10.1.2009,  15:51 Найти цитируемый пост)
У меня есть кнопка..

*вытирая слёзы*, это очень информативно, что за кнопка? вы пишете на каком-то языке? 


--------------------
убрал
PM   Вверх
TwisT_X
Дата 10.1.2009, 16:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


It's works!
**


Профиль
Группа: Участник
Сообщений: 293
Регистрация: 15.2.2005
Где: Earth

Репутация: нет
Всего: 4



KDevelop   --->    C++   --->   Simple KDE Application

Я конечна с кнопкой загнул))

Вот так вот примерно будет:
4 TextLabel и 4 LineEdit и PushButton..

в TextLabel показывает что я хочу вывести в LineEdit - выводит..
Например:
Имя хоста:    [__________]   (   <---типа LineEdit  smile   )

Получается я хочу сделать так что бы при нажатии на PushButton посылался сигнал что бы в LineEdit 'ах  вывелась нужная информация, но я не знаю команд которые показывают "пусть к временному каталогу пользователя" и "используемая оконная оболочка".. Подскажите какие команды мне нужны что бы получить такую информацию?



--------------------
Если ты упадешь я буду рядом. (с) Асфальт
PM MAIL WWW   Вверх
krwlr
Дата 10.1.2009, 16:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 383
Регистрация: 6.12.2006

Репутация: нет
Всего: 51



TwisT_X, ну раз вы пишите приложение на с++, то надо использовать системные вызовы наверное)
а это уже другая тема, посмотрите информацию о системных вызовах в линукс и программировании на qt. smile 


--------------------
убрал
PM   Вверх
TwisT_X
Дата 10.1.2009, 16:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


It's works!
**


Профиль
Группа: Участник
Сообщений: 293
Регистрация: 15.2.2005
Где: Earth

Репутация: нет
Всего: 4



krwlr, та я уже начитался))) это не первое мое приложение, которое я пишу на С++ в KDevelop..  smile  Просто сейчас возникла проблема с этими командами  smile 


--------------------
Если ты упадешь я буду рядом. (с) Асфальт
PM MAIL WWW   Вверх
MAKCim
Дата 10.1.2009, 17:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 84
Всего: 207



Цитата(TwisT_X @  10.1.2009,  15:36 Найти цитируемый пост)
имя хоста;

man 2 uname

Цитата(TwisT_X @  10.1.2009,  15:36 Найти цитируемый пост)
- используемая SHELL-оболочка..

$SHELL


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
TwisT_X
Дата 11.1.2009, 02:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


It's works!
**


Профиль
Группа: Участник
Сообщений: 293
Регистрация: 15.2.2005
Где: Earth

Репутация: нет
Всего: 4



MAKCim, а еще два остальных не подскажешь?


--------------------
Если ты упадешь я буду рядом. (с) Асфальт
PM MAIL WWW   Вверх
vdim
Дата 11.1.2009, 09:24 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 33
Регистрация: 19.4.2008

Репутация: нет
Всего: нет



Цитата(TwisT_X @ 10.1.2009,  15:36)
используемая оконная оболочка;

может помочь $DESKTOP_SESSION (у меня в сусе11.1+кде4.1.3 DESKTOP_SESSION="kde"), а может и не помочь (у меня в дебиан4.0rc5+gnome2.14 DESKTOP_SESSION="default"). 
PM MAIL   Вверх
MAKCim
Дата 11.1.2009, 12:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 84
Всего: 207



Цитата(TwisT_X @  11.1.2009,  02:18 Найти цитируемый пост)
а еще два остальных не подскажешь? 

по поводу оконной оболочки...наверное, только перебор сигнатур различных оболочек
т. е, например, рабочий gnome изменяет/создает то-то и то-то
вот это "то-то" и есть инвариант "запущенности" оболочки

если в /var/run есть gdm.pid и gdm_socket, то на 99.9% запущен gnome
аналогично с kde, xfce и т. д

что в твоем понимании временный каталог пользователя?
там, где по-умолчанию создаются файлы через mkstemp? (man 3 mkstemp)


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
nickless
Дата 11.1.2009, 18:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Гентозавр
****


Профиль
Группа: Участник Клуба
Сообщений: 2976
Регистрация: 29.8.2005
Где: Germany

Репутация: 4
Всего: 181



Насчет оконной оболочки ИМХО для начала посмотреть содержимое переменных окружения DESKTOP_SESSION и XSESSION (не знаю насколько оно переносимо, но во многих случаях там написано что-то вроде "Gnome" "kde-3.5" "Xfce4"), а если там нет ничего вразумительного, пытаться определить как сказал MAKCim.

Модератор: Тема перенесена из "Администрирования *NIX систем"


--------------------
user posted image

Real men don't use backups, they post their stuff on a public ftp server and let the rest of the world make copies
- Linus Torvalds
PM MAIL   Вверх
TwisT_X
Дата 12.1.2009, 00:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


It's works!
**


Профиль
Группа: Участник
Сообщений: 293
Регистрация: 15.2.2005
Где: Earth

Репутация: нет
Всего: 4



Подскажите пожалуйста где можно описание на C++ в KDevelope о системных вызовах этих да и вообще.. А то совсем запутался уже  smile 


--------------------
Если ты упадешь я буду рядом. (с) Асфальт
PM MAIL WWW   Вверх
TwisT_X
Дата 12.1.2009, 22:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


It's works!
**


Профиль
Группа: Участник
Сообщений: 293
Регистрация: 15.2.2005
Где: Earth

Репутация: нет
Всего: 4



В принципе разобрался:

Код

  struct utsname systemInfo;
  uname (&systemInfo);
  lineEdit1->setText(getenv("DESKTOP_SESSION"));
  lineEdit2->setText(systemInfo.nodename);
  lineEdit4->setText(getenv("SHELL"));


Ну я думаю для тех, кто понимает в KDevelop 'e и QT дизайнер и системные запросы, смогут понять что к чему здесь  smile 

А вот с временным каталогом пользователя все равно ничего не получается  smile 

И вот еще помогите пожалуйста вот с чем:

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

Код

#include<unistd.h> 
#include<sys/types.h> 
#include<stdlib.h> 
#include<stdio.h> 
#include<time.h> 
 
void writer(int message,int count, FILE *stream) 
{ 
for(; count>0;count--) 
{ 
fprintf(stream, "%d \n",message); 
fflush(stream); 
sleep(1); 
} 
} 
 
void reader(FILE *stream) 
{ 
char buffer[1024]; 
while(!feof(stream)&&fgets(buffer,sizeof(buffer),stream)!=NULL) 
fputs(buffer,stdout); 
} 
 
int main() 
{ 
pid_t pid; 
int fds[2]; 
pipe(fds); 
pid=fork(); 
if(pid<0) 
{ 
printf("System error"); 
exit(1); 
} 
else 
if(pid>0) 
{ 
FILE *stream; 
stream=fdopen(fds[1],"w"); 
close(fds[0]); 
writer("Hello,World!",5,stream); 
 
close(fds[1]); 
} 
else 
{ 
FILE *stream; 
close(fds[1]); 
stream=fdopen(fds[0],"r"); 
reader(stream); 
close(fds[0]); 
} 
return 0; 
}


Это сообщение отредактировал(а) TwisT_X - 12.1.2009, 23:20


--------------------
Если ты упадешь я буду рядом. (с) Асфальт
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Программирование под Unix/Linux"
xvr
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой "Код".
  • Вопросы мобильной разработки тут
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, xvr.

 
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Программирование под Unix/Linux | Следующая тема »


 




[ Время генерации скрипта: 0.0935 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.