Erb 04.02.2012 15:06

Есть вопрос!Как управлять настройками KDE 4.7+ из консоли?

как добавить/удалить раскладку клавиатуры?
как выставить региональные настройки и пр.?
как управлять всеми теми настройками, что в меню Параметры системы, но из консоли?


Тэги: kde консоли
+ 2 -
Похожие Поделиться

shisoid 04.02.2012 17:52 #
править конфиги
//не удержался :3
Erb 04.02.2012 19:55 #
А можно не удержаться еще раз и ткнуть пальцем - какие именно?
cppmm 04.02.2012 21:11 #
Снести KDE, поставить fluxbox и управлять.

А если серьёзно - зачем?
Erb 04.02.2012 21:23 #
Помочь в настройке удаленно, через ssh
это раз
Автоматизировать настройку KDE сразу после инсталляции
это два
Для саморазвития
это три
Erb 04.02.2012 21:40 #
Вот что удалось накопать:
по команде:
qdbus
выводится куча всего
скажем если из этой кучи взять org.kde.keyboard
и написать в консоли
qdbus org.kde.keyboard /Layouts getLayoutsList
то получим в ответ:
us
ru(phonetic)

если ввести:
qdbus org.kde.keyboard /Layouts setLayout us
то в ответ в консоли получим:
true
а раскладка переключится на ингл

это я накопал в инете, пока копал видел как таким-же способом управляют Amarok, примеры управления статусами Kopete.

а если ввести:
qdbus org.kde.keyboard /Layouts addLayout pl
то получим:
Cannot find '.addLayout' in object /Layouts at org.kde.keyboard
а если:
qdbus org.kde.keyboard /Layouts addLayout
то:
Error: org.freedesktop.DBus.Error.UnknownMethod
No such method 'addLayout' in any interface at object path '/Layouts' (signature '')


Я не программист, и слабо во всем этом понимаю, но на сколько могу понимать - где-то должны быть описаны эти самые методы, только где их искать?
Erb 04.02.2012 22:14 #
Вот тут Control KDE applications from the commandline with D-Bus примеры о которых я говорил
kstep 05.02.2012 03:24 #
Там, собственно, и содержится ответ на твой вопрос:

Я не программист, и слабо во всем этом понимаю, но на сколько могу понимать - где-то должны быть описаны эти самые методы, только где их искать?


Просто попробуй выполнить:

qdbus org.kde.keyboard /Layouts

И будет тебе щастье^W список доступных для данного объекта методов с сигнатурами.
Erb 05.02.2012 10:49 #
Как сам не додумался? Даж досада взяла:)
Буду копать - спасибо.
le087 05.02.2012 12:38 #
Предлагаю по результатом проведенных раскопок написать небольшой пост на ресурс.
Erb 05.02.2012 12:51 #
Если будет, что писать.
Повторюсь - я не программер, а эти фенечки уже больше из той области.
т.е. где-то внутренним 6 чувством понимаю, что из всех результатов от:

qdbus org.kde.keyboard /Layouts

добавление новой раскладки скорее всего выполняется этим:

method void org.freedesktop.DBus.Properties.Set(QString interface_name, QString property_name, QDBusVariant value)

соответственно мне нужно понять варианты для каждого из трех:
QString interface_name,
QString property_name,
QDBusVariant value


Поэтому, если кому интересно, а главное, кто понимает в том, о чем тут речь (я пока имею только смутное представление) - прошу присоединиться и помочь.

kstep 05.02.2012 13:32 #
Увы я тут не помогу, т.к. КДЕ нет. У меня на ДБАСе просто нет таких объектов.
dront78 05.02.2012 16:14 #
метод
void - ничего не возвращает
org.freedesktop.DBus.Properties - если понятней считайте как дерево в виндовом реестре org\freedesktop\DBus\Properties или как каталоги
Set - управляющий метод
QString - строка

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

списки интерфейсов и изменяемых свойств можно найти видимо на сайте
Erb 05.02.2012 17:53 #
отлично, даже стал понимать
А можете на пальцах рассказать что такое метод?

"Ну что, Сапрыкин? Нашли мы на тебя методы?"
Это то-же, только в цифровом виде?
dront78 05.02.2012 20:04 #
в программировании метод = функция = процедура

void function(int a, int b) {
int c = a+b;
}

в примере функция принимает на вход целые числа a, b и
складывает их
Erb 05.02.2012 21:16 #
метод = функция = процедура

другими словами это синонимы?
dront78 05.02.2012 22:56 #
в программировании - да
sumboid 06.02.2012 15:31 #
Да ты лютый. Хватит нести чушь.
kstep 06.02.2012 16:30 #
Нет, ну понятно что метод, функиция и процедура — это немного разные вещи, но не думаю что в данном случае стоит человека, незнакомого с программированием, грузить такими тонкостями, а то только запутается.
kstep 06.02.2012 16:33 #
Ты же не будешь объяснять ребёнку, что есть малиновый, алый и бардо, ты ему расскажешь про красный цвет, а в подробности про оттенки пустишься, когда он разберётся с основными цветами.
dront78 10.02.2012 10:51 #
C функция
C++ метод, виртуальный метод
Delphi процедура, функция

если есть еще вопросы - обращайтесь
kstep 10.02.2012 21:17 #
Не надо, пожалуйста. Методы они и в Дельфи методы. Эти названия не зависят от языка, у каждого из них есть чёткое определение.
dront78 10.02.2012 23:16 #
Эти названия не зависят от языка, у каждого из них есть чёткое определение.

именно поэтому я дельфи не люблю ))
http://goo.gl/ebNGl
dront78 10.02.2012 23:18 #
Эти кляти Паскали наш Null Nil-ом называют.
kstep 10.02.2012 23:51 #
Фтопку такие учебники. Это программа первого курса универа была по Object Pascal'ю, метод там называли методом. А тут вообще пурга какая-то, перепутали название сущности с ключевым словом, которой эта сущность объявляется.
Erb 11.02.2012 11:02 #
хмммм
интересно, почему я писем не получал, что ветка обновляется?

У меня есть просьба ко всем присутствующим:
Давайте в этом топике не будем тратить силы и время на выяснение тонкостей формулировок.
Задача - управлять KDE через командную строку, что даст возможность управления системой удаленно по ssh, а так-же написание скриптов для пост-инсталл настройки (добавление раскладок клавиатуры, выставление региона, настройка виджетов и т.д.)

Нет, ну понятно что метод, функиция и процедура — это немного разные вещи, но не думаю что в данном случае стоит человека, незнакомого с программированием, грузить такими тонкостями, а то только запутается.


Именно так. У меня нет задачи, на данный момент, учиться теории программирования, но есть дважды объясненная задача.
идеальный вариант помощи - ткнуть пальцем куда смотреть, дать пример, который позволит тупо действовать по аналогии, не вдаваясь в тонкости формулировок.

Спасибо