Страница 1 из 1

bash: dcop: команда не найдена

Добавлено: 15 мар 2017, 05:58
c0re
ROSA R8.1 KDE
Решил попробовать dcop , а его оказывается и нет...

Код: Выделить всё

$ dcop
bash: dcop: команда не найдена
как быть? подскажите...

Re: bash: dcop: команда не найдена

Добавлено: 15 мар 2017, 07:52
zrpg
На википедии написано, что с KDE4 используется D-Bus. Может поэтому и нет.
Использование DCOP предоставляет новые возможности без необходимости написания новых приложений. Приложения и библиотеки KDE хорошо поддерживают DCOP, благодаря этому большинство приложений KDE могут контролироваться скриптами через механизм DCOP. В KDE 4 DCOP был заменен на D-Bus.

Re: bash: dcop: команда не найдена

Добавлено: 16 мар 2017, 10:25
c0re
zrpg писал(а):На википедии написано, что с KDE4 используется D-Bus. Может поэтому и нет.
Использование DCOP предоставляет новые возможности без необходимости написания новых приложений. Приложения и библиотеки KDE хорошо поддерживают DCOP, благодаря этому большинство приложений KDE могут контролироваться скриптами через механизм DCOP. В KDE 4 DCOP был заменен на D-Bus.
возможно и d-bus вот только его в виде консольной утилиты тоже нет, вроде только библиотеки для питона или перла.

Re: bash: dcop: команда не найдена

Добавлено: 16 мар 2017, 11:18
VictorR2007
dcop есть в системе, он в пакете bash-completion, файл лежит /usr/share/bash-completion/completions/dcop
Может как-то нужно указать его использование в файле ~/.bash_completion

Re: bash: dcop: команда не найдена

Добавлено: 18 мар 2017, 18:44
c0re
Есть, но это симлинк на qdbus

Код: Выделить всё

# ls -l /usr/share/bash-completion/completions/dcop
lrwxrwxrwx 1 root root 5 фев 22 13:29 /usr/share/bash-completion/completions/dcop -> qdbus
а тот в свою очередь неисполняемый файл...

Код: Выделить всё

# ls -l /usr/share/bash-completion/completions/qdbus
-rw-r--r-- 1 root root 381 сен 25  2014 /usr/share/bash-completion/completions/qdbus
# /usr/share/bash-completion/completions/qdbus
-bash: /usr/share/bash-completion/completions/qdbus: Отказано в доступе
это текстовик, в котором:

Код: Выделить всё

# Qt qdbus, dcop completion                                -*- shell-script -*-

_qdbus()
{
    local cur prev words cword
    _init_completion || return

    [[ -n $cur ]] && unset words[${#words[@]}-1]
    COMPREPLY=( $( compgen -W '$( command ${words[@]} 2>/dev/null | \
        sed s/\(.*\)// )' -- "$cur" ) )
} &&
complete -F _qdbus qdbus dcop

# ex: ts=4 sw=4 et filetype=sh
и что с этим делать? :crazy:

Re: bash: dcop: команда не найдена

Добавлено: 18 мар 2017, 20:19
voan
> а тот в свою очередь неисполняемый файл

Код: Выделить всё

$ type qdbus  
qdbus находится в хеше (/usr/lib/qt4/bin/qdbus)
$ /usr/lib/qt4/bin/qdbus --help
Usage: qdbus [--system | --address ADDRESS] [--literal] [servicename] [path] [method] [args]

  servicename       the service to connect to (e.g., org.freedesktop.DBus)
  path              the path to the object (e.g., /)
  method            the method to call, with or without the interface
  args              arguments to pass to the call
With 0 arguments, qdbus will list the services available on the bus
With just the servicename, qdbus will list the object paths available on the service
With service name and object path, qdbus will list the methods, signals and properties available on the object

Options:
  --system          connect to the system bus
  --address ADDRESS connect to the given bus
  --literal         print replies literally

Re: bash: dcop: команда не найдена

Добавлено: 20 мар 2017, 20:20
Pulfer
VictorR2007 писал(а):dcop есть в системе, он в пакете bash-completion, файл лежит /usr/share/bash-completion/completions/dcop
Может как-то нужно указать его использование в файле ~/.bash_completion
Это дополнения для bash, а не сам dcop. Они нужны, чтобы bash по нажатию на клавишу TAB показывал, какие опции понимает программа и подставлял их. Например, для urpmi:

Код: Выделить всё

$ urpmi --auto-[TAB]
--auto-orphans  --auto-req      --auto-select   --auto-update
А сам dcop - это давно устаревшая технология времён KDE 3 (часть пакета kdelibs 3.x), её давно уже нет в системе.