(Gelöst) Druckbefehl in bashrc setzen

Hinweis: In dem Thema (Gelöst) Druckbefehl in bashrc setzen gibt es 21 Antworten auf 3 Seiten. Der letzte Beitrag () befindet sich auf der letzten Seite.
  • Guten Abend


    Kann von der Shell - Konsole aus drucken mit:


    lpr -PHP_LaserJet_M272nf_MFP


    Da dieses Kommando aber zu lang ist, und oft Tippfehler vorkommen, wollte ich einfach mit
    "lpr" drucken.
    Habe deshalb im bashrc am Schluss eingefügt:





    [[daten]daten]# Sample .bashrc for SuSE Linux
    # Copyright (c) SuSE GmbH Nuernberg


    # There are 3 different types of shells in bash: the login shell, normal shell
    # and interactive shell. Login shells read ~/.profile and interactive shells
    # read ~/.bashrc; in our setup, /etc/profile sources ~/.bashrc - thus all
    # settings made here will also take effect in a login shell.
    #
    # NOTE: It is recommended to make language settings in ~/.profile rather than
    # here, since multilingual X sessions would not work properly if LANG is over-
    # ridden in every subshell.


    # Some applications read the EDITOR variable to determine your favourite text
    # editor. So uncomment the line below and enter the editor of your choice :)
    #export EDITOR=/usr/bin/vim
    #export EDITOR=/usr/bin/mcedit


    # For some news readers it makes sense to specify the NEWSSERVER variable here
    #export NEWSSERVER=your.news.server


    # If you want to use a Palm device with Linux, uncomment the two lines below.
    # For some (older) Palm Pilots, you might need to set a lower baud rate
    # e.g. 57600 or 38400; lowest is 9600 (very slow!)
    #
    #export PILOTPORT=/dev/pilot
    #export PILOTRATE=115200


    test -s ~/.alias && . ~/.alias || true


    # export lpr-PHP_LaserJet_M2727nf_MFP


    ~
    ~
    ~
    ~
    "~/.bashrc" 31L, 1217C 31,0-1 Alles[/daten]


    Leider klappt es nicht.


    Was habe ich da falsch gemacht?


    Würde mich auf einen Tipp freuen.


    Danke und Gruss
    [/daten]

    Einmal editiert, zuletzt von Bogusta ()

    Für den Inhalt des Beitrages 78069 haftet ausdrücklich der jeweilige Autor: Bogusta

  • Ein Weg:


    Erstelle Dir eine Datei PHP_LaserJet_M272 in deinem /home/Benutzername/bin mit dem Inhalt:

    Bash
    #!/bin/bash
    lpr -PHP_LaserJet_M272nf_MFP


    Mache die Datei ausführbar.


    In die .bashrc füge folgende Zeile ein:
    alias jetprint='sh /home/Benutzername/bin/PHP_LaserJet_M272'


    Mit jetprint kannst du dann in der Konsole den obigen Befehl ausführen.......
    Benutzername ist natürlich passend zu ersetzen.



    PS:

    # export lpr-PHP_LaserJet_M2727nf_MFP


    Alles was in Scripten usw. nach einem # steht, wird nicht ausgeführt, sondern ist ein Kommentar.

    Für den Inhalt des Beitrages 78071 haftet ausdrücklich der jeweilige Autor: Sauerland

  • Danke Sauerland für die prompte Antwort !


    Werde aber erst am Wochenende es so versuchen können.
    Wird aber sicher klappen.


    :) Dank und Gruss

    Für den Inhalt des Beitrages 78089 haftet ausdrücklich der jeweilige Autor: Bogusta

  • Ich würde es direkt in die bashrc setzen, ohne Umweg über einen Script:

    Code
    alias lpr='lpr -PHP_LaserJet_M272nf_MFP'


    Dann klappt es auch mit der Übergabe eines Dateinamens.


    Das originale lpr muss von dann an mit absolutem Pfad aufgerufen werden, falls gewünscht, oder Du wählst einen anderen Namen für das Alias.

    Für den Inhalt des Beitrages 78095 haftet ausdrücklich der jeweilige Autor: Easy

  • Guten Abend


    Habe "jetprint" und "lpr" in der bashrc gesetzt, laut Sauerland und Easy


    Code
    test -s ~/.alias && . ~/.alias || true
    
    
    alias jetprint='sh /home/Bodo/bin/PHP_LaserJet_M2727nf_MFP'
    
    
    alias lpr='lpr -PHP_LaserJet_M727nf_MFP'


    Bei der Eingabe "jetprint" Datei oder "lpr" Datei kommt die Meldung:


    "Verzeichnis oder Datei nicht gefunden"


    Wenn ich die ganze Litanei eingebe "lpr -PHP_LaserJet_M2727nf_MFP" Datei,
    dann klappt es aber.


    Mit openSuse und KDE komme ich ziemlich gut aus. (grafische Bedieneroberfläche)


    Nach Probleme mit dem "bootloader GRUB" habe ich aber auch feststellen müssen, wie wichtig
    die shell (Konsole) ist.
    Nur bleibe ich da aber manchmal an scheinbar logischen und einfachen Sachen einfach hängen.


    Als Linux-Anfänger habe ich zwar verschiedene Linux-Bücher durchgelesen. Dass ich jetzt nicht
    weiter komme, macht mir etwas Sorge. Na, vielleicht bin ich zu alt dafür.
    Konnte ich doch einmal mit DOS-Befehlen, und "config.sys" + "autoexec.bat" umgehen.


    Irgendwann werde ich die Lösung wohl finden.
    Auf eine kleine Anregung oder Tip würde ich mich aber sehr freuen. Danke

    Für den Inhalt des Beitrages 78276 haftet ausdrücklich der jeweilige Autor: Bogusta

  • Habe mich mit dem Problem zwar noch nicht beschäftigt und kann wohl nicht viel helfen.
    Aber eines fällt doch auf: Wenn die Direkteingabe funktioniert, kann/muss es irgendwo einen Syntaxfehler bei dem Eintrag in der bashrc geben.
    Wo der allerdings sitzt kann ich jetzt nicht sagen auf die Schnelle.


    Edit: Und zu alt bist du sicher nicht, ich kann auch noch "DOS" ;)


  • Bei der Eingabe "jetprint" Datei oder "lpr" Datei kommt die Meldung:


    "Verzeichnis oder Datei nicht gefunden"


    Ich möchte meine Socken verwetten, dass das nicht die komplette Meldung ist.

    Für den Inhalt des Beitrages 78278 haftet ausdrücklich der jeweilige Autor: Easy

  • Bei der Eingabe "jetprint" Datei oder "lpr" Datei kommt die Meldung:


    "Verzeichnis oder Datei nicht gefunden"


    Wenn man dann nicht im selben Verzeichnis ist, wie die Datei bzw. die Datei in einem Verzeichnis liegt, die nicht im User Path vorhanden ist.......


    Habe "jetprint" und "lpr" in der bashrc gesetzt


    Es ist die Datei .bashrc. Der Punkt vor der Datei ist wichtig, er zeigt an, das die Datei versteckt ist.

    Für den Inhalt des Beitrages 78279 haftet ausdrücklich der jeweilige Autor: Sauerland

  • Wenn ich das jetzt richtig verstanden habe ist der Knackpunkt die Umgebungsvariable der Datei.
    Es müßte also funktionieren mit


    Code
    jetprint /pfad/zur/zu/druckenden/datei


    Es sei denn man befindet sich mit der Konsole in dem Verzeichnis, in dem die zu druckende Datei liegt. Dann müßte es auch so gehen.


    Code
    jetprint datei


    Der Fehler war höchstwahrscheinlich, das du die Konsole "on the fly" geöffnet hast und den Befehl eingegeben. Bei dem Aufruf der Konsole befindest du dich erst mal im /home- Ordner.
    Dies kannst du gut sehen, indem du nach dem öffnen des Terminals aus dem Kickstarter einmal den alten DOS-Befehl


    Code
    dir


    eingibst. So kommst du also nicht zu der zu druckenden Datei. Bei Aufruf von


    Code
    jetprint datei


    wird der Aufruf also zu der Meldung "Verzeichnis oder Datei nicht gefunden" führen.


    Hoffe das ich mit meinen Ausführungen richtig liege. Denke aber schon. Falls nicht, lasse ich mich gern korrigieren.


    Zusatz:


    Du kannst natürlich deine Pfad-Umgebungsvariablen, die du in der Konsole mit


    Code
    echo $PATH


    aufrufen kannst, in der .bashrc noch erweitern. Das sieh dann in etwa so aus:


    Code
    PATH=$PATH:/home/externes/verzeichnis/dateien


    Dies setzt natürlich voraus, das in deinem Home das Verzeichnis "externes/verzeichnis/dateien" vorhanden ist, sonst rennst du wieder in`s Leere.

  • Der Fehler war höchstwahrscheinlich, das du die Konsole "on the fly" geöffnet hast und den Befehl eingegeben. Bei dem Aufruf der Konsole befindest du dich erst mal im /home- Ordner.
    Dies kannst du gut sehen, indem du nach dem öffnen des Terminals aus dem Kickstarter einmal den alten DOS-Befehl


    Code
    dir


    eingibst.


    dir ist ein alias auf ls -l und ist bei OpenSUSE standardmäßig gesetzt. Das Verzeichnis, in dem man sich gerade befindet, bekommt man mit

    Code
    pwd

    angezeigt.

    Code
    [(02.02 00:17)florian@saurekuddeln:~/Videos]$ alias | grep dir\=
    dir='ls -l'
    [(02.02 00:18)florian@saurekuddeln:~/Videos]$ pwd
    /home/florian/Videos


    flo

    Für den Inhalt des Beitrages 78360 haftet ausdrücklich der jeweilige Autor: grossing