Σελίδα 1 από 1

Βασικες εντολες και συντομευσεις ως background

ΔημοσίευσηΔημοσιεύτηκε: 15 Ιούλ 2017, 04:59
από koleygr
Σε αυτό τον οδηγό, θα σας δείξω πώς θα φτιάξετε χρησιμοποιώντας latex (ή όποιο επεξεργαστή εικόνας προτιμάτε) ένα background με τις εντολές ή τις συντομεύσεις που χρησιμοποιείτε συχνά, είτε αυτές είναι εντολές linux είτε εντολές emacs είτε χωριστό background για κάθε κατηγορία εντολών που θέλετε να βρίσκετε ανά πάσα στιγμή.

Προσωπικά, ήρθα σε αυτή την ανάγκη, μαθαίνοντας λίγες εντολές (συντομεύσεις) για τον emacs ώστε να τις έχω πρόχειρες και να ανατρέχω ανά πάσα στιγμή σε αυτές χωρίς να χρειάζεται να πιάσω ποντίκι όση ώρα φτιάχνω προγράμματα ή σημειώσεις σε latex κλπ

Η μέθοδος μπορεί να εφαρμοστεί σχεδόν όπως είναι (όπου υπάρχουν διαφοροποιήσεις θα το αναφέρω) σε debian-gnome και ubuntu-gnome ή unity και νομίζω σε όλες τις διανομές που έχουν σα βάση το gnome. [Το έχω δοκιμάσει σε ubuntu 16.04 (unity) και debian 9 -gnome.]

Όλος ο οδηγός αποτελεί κυρίως μια πρόταση για "χαμηλή κατανάλωση μνήμης χρήστη" και "γρήγορη εκμάθηση" διφορων συχνά χρησιμοποιούμενων εντολών.
Ενας προγραμματιστής, θα βρεί πολύ χρήσιμο το πέρασμα σε emacs ή vim και καλό ειναι να μην απασχολεί πολυ τα χερια του με το ποντίκι.

  1. Βρίσκουμε την εικόνα που χρησιμοπουούμε ως background με την εντολή
    Κώδικας: Επιλογή όλων
    gsettings get org.gnome.desktop.background picture-uri


    Σε εμένα το αποτέλεσμα για το ubuntu ήταν:

    Κώδικας: Επιλογή όλων
    file:///usr/share/backgrounds/warty-final-ubuntu.png


    Ενώ για το debian ήταν καποια εικόνα μέσα απο το φακελο:

    Κώδικας: Επιλογή όλων
    /usr/share/desktop-base/softwaves-theme/wallpaper/contents/images

  2. Φτιάχνουμε ένα φάκελο στο home directory πχ my_bg
    Κώδικας: Επιλογή όλων
    mkdir ~/my_bg

  3. Αντιγράφουμε την εικόνα που βρήκαμε στο πρώτο βήμα στο φάκελο αυτόν:
    Πχ αν η εικόνα ήταν αυτή που βρήκα εγώ στο ubuntu (η default):
    Κώδικας: Επιλογή όλων
    cp /usr/share/backgrounds/warty-final-ubuntu.png ~/my_bg/

    Ενώ αν ήταν αυτή που βρήκα στο debian:
    Κώδικας: Επιλογή όλων
    cp /usr/share/desktop-base/softwaves-theme/wallpaper/contents/images/800x600.svg ~/my_bg/


  4. Εαν η εικονα μας ειναι svg και θελουμε να χρησιμοποιήσουμε latex (ακομα κι αν δεν το έχουμε εγκατεστημένο μπορούμε να
    το χρησιμοποιήσουμε online) πρέπει να τη μετατρέψουμε σε png

    (Στο ubuntu με unity ειναι ήδη png)

    Εαν έχουμε εγκατεστημενο texlive μπορούμε να το κάνουμε με την εντολή:

    Κώδικας: Επιλογή όλων
    cd my_bg

    Κώδικας: Επιλογή όλων
    convert 800x600.svg 800x600.png

    (Όπου βεβαια χρησιμοποιούμε το όνομα του αρχειου svg που θα χρησιμοποιήσουμε)

    Εάν δεν εχουμε εγκατεστημενο texlive, pολυ πιθανό να έχουμε gimp

    οπότε ανοίγουμε με το gimp την εικόνα και επιλέγουμε File->export as-> (χαμηλα στο ειδος αρχειου png)-> και γραφουμε το όνομα του αρχειου ψηλα:
    πχ 800x600.png

    Φροντιζουμε να μην κανει καθολου συμπιεση στο αρχειο

  5. Σε αυτό το σημείο θα χρησιμοποιήσω latex για να τροποποιήσω την εικόνα μου και να της προσθέσω από πάνω τις εντολές.
    Όποιος δεν έχει εγκατεστημενο latex μπορει να ακολουθήσει τα βήματα που κάνω χρησιμοποιώντας κάποιο online site
    όπως είναι το sharelatex.com. Εναλλακτικά, μπορείτε να χρησιμοποιήσετε inkscape (δεν το έχω κάνει αλλά νομίζω γίνεται)
    ή ίσως και libre office ή οποιοδήποτε εργαλειο με το οποίο μπορείτε να προσθέσετε κείμενο πάνω από εικόνα.

    Ακολουθεί τροποποίηση της εικόνας με pdflatex

    Στο προηγούμενο βήμα έδωσα την εντολή:
    Κώδικας: Επιλογή όλων
    cd my_bg

    Την ξαναδίνω για όποιον δε χρειάστηκε το προηγουμενο βημα. όποιος το χρειάστηκε μπορει να την παραλείψει.

    Έπειτα ανοίγω ένα αρχείο με επέκταση .tex. Ας το πούμε image.tex

    Κώδικας: Επιλογή όλων
    nano image.tex


    Γράφω μεσα τον παρακάτω κώδικα (είναι οι συντομευσεις που περιέχει ο οδηγός tutorial του emacs... μπορειτε να τροποποιήσετε τον κωδικα
    και να βαλετε εντολες linux ή ότι αλλο σας αρεσει. Για να αρχησει καποιος με emacs ειναι ότι πρεπει.):

    Κώδικας: Επιλογή όλων
    \documentclass[12pt]{standalone}
    \usepackage{graphicx}
    \usepackage{tikz}
    \usepackage{array}
    \usepackage{parskip}

    \setlength\parindent{25pt}

    \def\bll{\boldmath$<$}
    \def\blg{\boldmath$>$}
    \begin{document} \begin{tikzpicture} \node at (0,0) {\includegraphics{warty-final-ubuntu.png}}; % Εδω βαζουμε το ονομα του αρχειου που θα χρησιμοποιησουμε!!!
    \node[scale=3] at (1.2,0) { \begin{minipage}{310pt} \begin{center} {\Huge \bfseries emacs controls:} \end{center}\vspace{5pt}

         \noindent{\Large\bfseries Navigation}\vspace{5pt}


         \begin{tabular}{>{\bfseries}r l}
            C-v:& Goes to next page.\\
            M-v:& Goes to previous page.\\
            C-l:& Moves the screen around the cursor's line.\\
            &(once $->$ center,\\
            &twice $->$ top,\\
            &three times $->$ bottom).\\
            C-n:& Next line.\\
            C-p:& Previous line.\\
            C-b:& Previous character (Backward).\\
            C-f:& Next character (Forward).\\
            C-a:& Beginning of line.\\
            C-e:& End of line.\\
            M-f:& Forward a word.\\
            M-b:& Backward a word.\\
            M-a:& Back to beginning of sentence.\\
            M-e:& Forward to end of sentence.\\
            M-\blg:& Move to End of file.\\
            M-\bll:& Move to Beginning of file.\\
         \end{tabular}\vspace{10pt}

         \noindent{\Large\bfseries Numerical arguments in commands}\vspace{5pt}

         \begin{tabular}{>{\bfseries}l l}
            C-u \bll Num\blg \bll command\blg :& Repeats $<$comand$>$ \\
            &Num times.\\
            Exceptions: & {\bfseries C-v} and {\bfseries M-v}\\
            & scrolls Num lines.\\
         \end{tabular}\vspace{10pt}

         \noindent{\Large\bfseries Cancel non-responding or incomplete command}\vspace{5pt}

         \begin{tabular}{c}
            {\bfseries C-g}\\
         \end{tabular}\vspace{10pt}

         \noindent{\Large\bfseries Change buffer etc}\vspace{5pt}

         \begin{tabular}{>{\bfseries}rl}
            C-x b: & Select buffer \\
            & Default [Enter]\\
            & [tab] show possible.\\
            C-x 1: & kill all buffers\\
            & but cursor's current.\\
            & [it is digit one]\\
            C-x 2:& Splits current window in two.\\
            C-x o:& moves cursor to other window.\\
            C-M-v:& Scrolls other window.
         \end{tabular}
      \end{minipage}\hspace*{45pt}
      \begin{minipage}{300pt}
         \noindent{\Large\bfseries Mark from}\vspace{5pt}

         \begin{tabular}{>{\bfseries}l}
            C-\bll SPC\blg\\
         \end{tabular}\vspace{10pt}


         \noindent{\Large\bfseries Delete and kill}\vspace{5pt}

         \begin{tabular}{>{\bfseries}r l}
         \bll DEL\blg & Delete char just before cursor.\\
         C-d: & Delete char just after cursor.\\
         M-\bll DEL\blg: & Kill word just before cursor.\\
         M-d: & Kill word just after cursor.\\
         C-k: & Kill from cursor to end of line.\\
         M-k: & Kill from cursor to end of sentence.\\
         C-w: & Kill from mark point to cursor.
         \end{tabular}\vspace{10pt}

         \noindent{\Large\bfseries Restore killed text ``Yanking''}\vspace{5pt}

         \begin{tabular}{>{\bfseries}l l}
            C-y: & Restore last killed or last row killed text.\\
            M-y: & Restore previous killed text.
         \end{tabular}\vspace{10pt}

         \noindent{\Large\bfseries Undo}\vspace{5pt}

         \begin{tabular}{>{\bfseries}l}
            C-/\\
            C-x u\\
            C-\_\\
         \end{tabular}

         \noindent{\Large\bfseries Files \& Buffers}\vspace{5pt}

         \begin{tabular}{>{\bfseries}rl}
            C-x C-f: & Find a file.\\
            C-x C-s: & Save active file.\\
            C-x C-b: & List buffers.\\
            C-x b \bll BufferName\blg:& Visit buffer.\\
            C-x s: & Save some buffers.\\
            C-x C-c:& Exit emacs.\\
            C-z:& Suspend emacs\\
            & return with \%emacs or 'fg'\\
         \end{tabular}\vspace{10pt}

         \noindent{\Large\bfseries Search}\vspace{5pt}

         \begin{tabular}{>{\bfseries}rl}
            C-s:& Forward search \\
            & (repeat C-s for next)\\
            C-r:& Backward search\\
            & Both navigate back and forth.
         \end{tabular}     
      \end{minipage}\hspace{5pt}
      \begin{minipage}{290pt}
         \noindent{\Large\bfseries More Useful Commands}\vspace{5pt}

         \begin{tabular}{>{\bfseries}r l}
            M-x replace-string:& Replace string after cursor.\\
            &(First letters and TAB \\
            & are enough to show it.)\\
            M-x recover-file: & Restores file.\\
            M-x auto-fill-mode: & Automatic breaks lines.\\
            M-x text-mode: & Human text.\\
            C-x f \bll NumChars\blg : & Chars in line.\\
            M-q: &Fix chars in paragraph.\\
            C-u 70 C-x f: & 70 chars per line.\\
            C-h c \bll comand\blg:& Basic help on command.\\
            C-h k \bll command \blg:& Extended help on command.\\
            C-h f \bll function \blg:& Help about function.\\
            C-x i:& Read included manuals.
         \end{tabular}\vspace{10pt}
      \end{minipage}

    };
    \end{tikzpicture}
    \end{document}


    Σώζουμε το αρχείο, βγαίνουμε... και δίνουμε την εντολή:

    Κώδικας: Επιλογή όλων
    pdflatex image1.tex


    Δημιουργείται έτσι ένα αρχειο image1.pdf το οποίο μετατρεπουμε σε png ή svg με την παρακάτω εντολή:

    Κώδικας: Επιλογή όλων
    convert image1.pdf image1.png


    ή αν είχαμε svg γνησια εικόνα:

    Κώδικας: Επιλογή όλων
    convert image1.pdf image1.svg


    Όσοι φτιάξαν το αρχείο σε sharelatex φανταζομαι μπορουν να βρουν ενα τροπο να το μετατρεψουν σε εικονα... Στην αναγκη screenshot.

  6. Βγαινουμε απο το φάκελο στον οποιο εχει αποθηκευτει η εικονα μας (οσοι δεν την φτιαξαν με latex στον υπολογιστη τους ας; τη σωσουν σε αυτο το φακελο: ~/my_bg )

    Κώδικας: Επιλογή όλων
    cd ..


    Φτιαχνουμε ενα καινουριο φακελο για να αποθηκευσουμε ενα σκριπτακι που θα μας αλλάζει το background με ενα shortcut που θα δημιουργησουμε:

    Κώδικας: Επιλογή όλων
    mkdir bin


    Κώδικας: Επιλογή όλων
    cd bin


    Κώδικας: Επιλογή όλων
    nano change_background.sh


    Εκει μεσα κανουμε copy paste ton κωδικα:

    Κώδικας: Επιλογή όλων
    #!/bin/bash

    file_path=$1

    if [ "x$file_path" != "x"  ];
    then
        gsettings set org.gnome.desktop.background picture-uri file://"$file_path"
    fi


    (Τον κώδικα αυτόν τον πήρα απο εδώ και τον αλλαξα λιγο.)

    σώζουμε και βγαίνουμε με ctrl-x και y.

    Έπειτα κάνουμε το skript εκτελέσιμο:

    Κώδικας: Επιλογή όλων
    chmod +x change_background.sh


  7. Τέλος ανοίγουμε τις ρυθμίσεις (απο το γραναζι στο ubuntu) (απο το πανω δεξια κουμπι στο debian) και διαλεγουμε keyboard και στα δυο.

    Πάμε στα shortcuts και επιλεγουμε custom shortcuts στο ubuntu ή παμε τερμα κατω στο debian και διαλεγουμε "+" για να προσθεσουμε εντολη να μας ενφανιζει το τροποποιημενο background.

    Στην εντολή που δημιουργούμε δίνουμε ενα όνομα να θυμόμαστε τι κανει: πχ emacs_bg

    Στο command δίνουμε την εντολή:
    Κώδικας: Επιλογή όλων
    bash /home/ToUserNameMas/bin/change_background.sh /home/ToUserNameMas/my_bg/image1.png


    όπου προσεχουμε να αντικαταστήσουμε τη λέξη ToUserNameMas με το username μας και το .png σε .svg αν χρησιμοποιούμε svg αρχειο.

    Τέλος (στο ubuntu πατάμε διπλα εκει που λεει disabled -- Το debian απλα το ζηταει μαζι με τα υπολοιπα) διαλεγουμε το shortcut πχ ctrl+alt+E (για emacs)

  8. Καλο ειναι να φτιαξουμε και ενα shortcut να επιστρεφει το αρχικο μας background:

    Κώδικας: Επιλογή όλων
    bash /home/ToUserNameMas/bin/change_background.sh "Default"


Μπορούμε να φτιαξουμε όσα background images θελουμε και να τα χρησιμοποιούμε... Βέβαια καλό είναι να μην
αποθηκευουμε στην επιφάνεια εργασιας γιατι θα κρύβει τις εντολες που εχουμε δώσει... Αλλά αυτη τη λεπτομέρεια την αφησα για το τέλος!

Για όποιον θέλει έτοιμη την εικόνα για τον emacs:
ειτε για debian ειτε για ubuntu εδώ image1.png και svg ειναι του ubuntu και image2 png και svg ειναι του debian.

Re: Βασικες εντολες και συντομευσεις ως background

ΔημοσίευσηΔημοσιεύτηκε: 15 Οκτ 2017, 10:28
από Tassos10
Ωραία δουλειά φίλε, μπράβο σου για τον οδηγό πολύ καλή δουλειά! Συνέχισε έτσι!

Το μόνο που θα σου πρότεινα, είναι να έκανες μια ακόμη μεγαλύτερη εισαγωγή ώστε να καταλάβουμε σε τι αναφέρεσαι, προσωπικά ούτε ο τίτλος, ούτε αυτά που γράφεις στην αρχή μου έδωσαν να καταλάβω τι είδους οδηγός είναι αυτός και σε τι αναφέρεσαι.
Θα σου πρότεινα επίσης όπου γίνεται να έβαζες και καμία εικονούλα, βοηθάνε.. ;)

Πάντως το ξανά λέω, πολύ καλή δουλειά και μπράβο σου. Ευχαριστούμε! :)

Re: Βασικες εντολες και συντομευσεις ως background

ΔημοσίευσηΔημοσιεύτηκε: 15 Οκτ 2017, 11:39
από koleygr
@Tassos10, Σ ευχαριστώ!

Έχεις δίκιο στις παρατηρήσεις σου. Θα τον βελτιώσω σύντομα.

Πώς σου φαίνεται ο τίτλος "Χρησιμες εντολες και συντομέυσεις στο background"? Δε μπορώ να σκευτώ καλύτερο...

Edit: Χαχαχαχα... σκεφτηκα δευτερη φορα τον ιδιο τιτλο!

Re: Βασικες εντολες και συντομευσεις ως background

ΔημοσίευσηΔημοσιεύτηκε: 15 Οκτ 2017, 12:23
από Tassos10
Χαίρομαι φίλε που είσαι ανοιχτός στις προτάσεις. Και πάλι μπράβο σου για όλα, είσαι ωραίος.
Ναι ίσος είναι καλύτερος, αλλά θα πρέπει ίσος να γράψεις και μια πιο αναλυτική εισαγωγή και τι εννοείς όταν λες "background".