Hauptmenü

bash-completion für otrs.Console.pl

Begonnen von kornexl, 20.10.2016 16:29:31

⏪ vorheriges - nächstes ⏩

kornexl

bei otrs war für den otrs-Benutzer bash-completion möglich.

mit sudo -u xxx ./bin/otrs.Console.pl .... tippt man sich einen ab, da die bash-completion nicht funktioniert.

Fabian Seibt

Hallo,

dies liegt daran, dass die Funktionalität in einem vergangenen Framework-Wechsel stark verändert wurde.

Früher gab es für die jeweiligen Funktionalitäten einzelne Skripte, welche natürlich auch via bash-completion im Filesystem gefunden werden konnten.
Nun gibt es nur noch das Console-Skript, welches mit den einzelnen Funktionalitäten via Keywords angesprochen werden muss.
Die zugehörigen Dateien sind nun keine Skript Dateien mehr, sondern einzelne *.pm Files welche sich unter <KIX-Home>/Kernel/System/Console/Command/* befinden.
Deswegen funktioniert auch die bash-completion nicht mehr.

Eine Liste der möglichen Kommandos erhältst du durch die Angabe von List:
sudo -u <User> ./bin/otrs.Console.pl List

Um die Menge der Resultate etwas einzugrenzen besteht die Möglichkeit einer Suche via Search:
sudo -u <User> ./bin/otrs.Console.pl Search <Suchbegriff>

VG Fabian

killerkarpfen

Im orginalen OTRS 5 findet sich eine .bash_completion Datei, vielleicht fehlt diese oder ist Fehlerhaft?

René Böhm

Hallo zusammen,

die File ist auch im KIX vorhanden. Bisher wurde uns jedoch noch nicht zugetragen, dass diese nicht mehr funktioniert. Ich habe mir das Ganze jetzt mal angeschaut.

Im File selbst findet man folgenden Hinweis:


# This file will be automatically found and used for the 'otrs' user if you have the
#   'bash-completion' package installed. Otherwise you can source it in your ~/.bashrc like this:
#
# source /opt/otrs/.bash_completion


Im Falle von KIX wäre der 'otrs' user der Webserver-Nutzer, unter dem die Arbeit auf der Console-Ebene jedoch nie durchgeführt wird, da die meisten per root arbeiten. Also müsste die File in der .bashrc des root-Nutzers auf dem Server eingetragen werden und zwar mit dem Pfad /opt/kix/.bash_completion. Dann sollte es eigentlich wieder normal funktionieren.

Viele Grüße
Rene



HaZet

#4
Im Falle von KIX wäre der 'otrs' user der Webserver-Nutzer, unter dem die Arbeit auf der Console-Ebene jedoch nie durchgeführt wird, da die meisten per root arbeiten. Also müsste die File in der .bashrc des root-Nutzers auf dem Server eingetragen werden und zwar mit dem Pfad /opt/kix/.bash_completion. Dann sollte es eigentlich wieder normal funktionieren.

Als root arbeiten halte ich für eine schlechte Idee.
1. Man tut's einfach nicht
2. Weil es Dir die Berechtigungen unter /opt/kix versauen kann.

Vorschlag (unter Ubuntu):
ln -s /opt/kix/.bash_completion /etc/bash_completion.d/kix_completion

kornexl

leider funktioniert keine .bash_completion bei:
sudo -u www-data /opt/kix/bin/otrs.Console.pl Maint::C<tab>

die Meldung ist
sudo -u www-data /opt/kix/bin/otrs.Console.pl Maint::Config-bash: compgen: Warnung: Die Option »-C« könnte unerwartete Ergebnisse liefern.
Error: Could not find Kernel::System::Console::Command::compgen.

Error: You cannot run otrs.Console.pl as root. Please run it as the 'otrs' user or with the help of su:

HaZet

OK, ich wechsel immer komplett den Nutzer:

su - www-data -s /bin/bash