Προς το περιεχόμενο

[INFO] Η δύναμη της Κονσόλας


Manos-Sx

Προτεινόμενες αναρτήσεις

@mad-proffessor

 

Ναι στο φορητο με το λινουξ ειναι arch.

 

Δες το σκρινσοτ εδω -> https://www.dropbox.com/s/nx3ajsjb7mwlq2k/screen1.png?dl=0

 

Σε fedora δηλ εχει αλλη συμπεριφορα/αποτελεσμα?

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

  • Απαντ. 889
  • Δημ.
  • Τελ. απάντηση

Συχνή συμμετοχή στο θέμα

Η πρωτη εντολη που ειχε δειξει ο προφεσσορας με το "w" σε arch ειχε το αναμενομενο σωστο αποτελεσμα.

 

Ιδιες εντολες , σε διαφορετικες διανομες να βγαζουν διαφορετικα αποτελεσματα...απλα με ξεπερναει :) 

Ειναι αναμενομενο ομως εως ενα βαθμο...

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Όπως είπε και ο mphxths, με το grep παίρνεις και το ίδιο το grep σαν αποτέλεσμα. Αν θέλεις οπωσδήποτε να δουλέψεις με το ps γιατί δεν χρησιμοποιείς τις εγγενείς λειτουργίες του ps αντί να μπλέκεις με το grep ?

 

% ps -C Xorg                  
  PID TTY          TIME CMD

% ps -C X
  PID TTY          TIME CMD
 3721 tty7     00:00:38 X
% ps -C X -o user,pid,tty,time,cmd
USER       PID TT           TIME CMD
root      3721 tty7     00:00:38 /usr/bin/X -nolisten tcp :0
Η πρώτη σύνταξη δεν μου παίζει γιατί εδώ που είμαι τώρα (gentoo) μάλλον το xinit καλεί το X (το οποίο είναι symlink στο Xorg) αντί για το xorg.
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημοσ. (επεξεργασμένο)

Φταιει μάλλον το γεγονός ότι η fedora έχει κάνει κάποιου είδους χακιά με Xorg wrapper ή χρησιμοποιεί κάτι σε rootless Xorg/wayland hybrid. Εμένα η εντολή μου επιστρέφει έναν user (το σωστό). Anywayz, θα γίνει μάλλον το failsafe με το w one-liner που υπάρχει ήδη.


Όπως είπε και ο mphxths, με το grep παίρνεις και το ίδιο το grep σαν αποτέλεσμα. Αν θέλεις οπωσδήποτε να δουλέψεις με το ps γιατί δεν χρησιμοποιείς τις εγγενείς λειτουργίες του ps αντί να μπλέκεις με το grep ?
 

% ps -C Xorg                  
  PID TTY          TIME CMD

% ps -C X
  PID TTY          TIME CMD
 3721 tty7     00:00:38 X
% ps -C X -o user,pid,tty,time,cmd
USER       PID TT           TIME CMD
root      3721 tty7     00:00:38 /usr/bin/X -nolisten tcp :0
Η πρώτη σύνταξη δεν μου παίζει γιατί εδώ που είμαι τώρα (gentoo) μάλλον το xinit καλεί το X (το οποίο είναι symlink στο Xorg) αντί για το xorg.

 

Είχα στα υπόψην και αυτό, γιαυτο ήθελα κάτι τελειώς uni-platform(w,lastlog/loginctl,ps) να δουλευει παντού (αλλά σίγουρα διανομές με systemd - γιατι το systemd-denotify έχει hard dep το systemd).

Αυτο που ζητάω εδώ είναι μια διαφοροποίηση του postinstall.sh script που τρέχει το προγραμματάκι με τα desktop notifications που έφτιαξα στο github(gkarakou/systemd-denotify).

 

....................................................................................................................

 

 

Τελικά έκανα commit αυτό:

#!/bin/sh
getXuser=`/usr/bin/w |grep :0|cut -d " " -f1|sort|uniq`
#fedora
/usr/bin/unalias ps
getXorgUser=`/usr/bin/ps -aux|/usr/bin/grep Xorg|/usr/bin/cut -d " " -f1|/usr/bin/sort|/usr/bin/uniq`
getXwaylandUser=`/usr/bin/ps -aux|/usr/bin/grep "Xwayland :0"|/usr/bin/cut -d " " -f1|/usr/bin/sort|/usr/bin/uniq`
if [ ! -z "$getXuser" ];then
/usr/sbin/usermod -a -G systemd-journal $getXuser
elif [ ! -z "$getXorgUser" ];then
/usr/sbin/usermod -a -G systemd-journal $getXorgUser
elif [ ! -z "$getXwaylandUser" ];then
/usr/sbin/usermod -a -G systemd-journal $getXwaylandUser
else
echo " Something went wrong. Please add the desktop user in systemd-journal group"
fi
exit 0;

χωρίς να το τεστάρω αλλά υποθέτω είναι οκ.

Επεξ/σία από mad-proffessor
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

  • 3 εβδομάδες αργότερα...

Ειπα να δοκιμασω αυτο εδω το σκριπτακι

https://github.com/marguerite/linux-bing-wallpaper/blob/master/bing_wallpaper.sh

 

Αλλα οταν το τρεχω μου λεει

$ sh bing_wallpaper.sh
bing_wallpaper.sh: 7: bing_wallpaper.sh: Syntax error: "(" unexpected

Γιατι?

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Αυτο ηταν, ηθελε bash. Μου εχει ξανατυχει ακομα 1-2 φορες παλιοτερα. Αλλα γιατι το κανει, αφου το bash ειναι οντως το shell που χρησιμοποιει ο χρηστης μου?

 

$ echo $SHELL
/bin/bash

Πρεπει να του κανω αλλαγες. Το feh βαζει την εικονα οπου να 'ναι και οπως να 'ναι και το σκριπτ δεν τελειωνει στο τελος, επειδη περιμενει 24 ωρες να αλλαξει το wallpaper

 

NOW=$(date +%s)
    SLEEP=`echo $TOMORROW-$NOW|bc`
    sleep $SLEEP
done

Αν σβησω αυτο το κομματι θα ειναι καλα? Να σβησω κι αλλα? Βασικα, θα το βαλω να τρεχει σε καθε εκκινηση οταν το διορθωσω.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Φαντάζομαι ότι το script αυτό έχει γραφτεί για να το ξεκινάς σαν διεργασία στο background όταν πρωτοκάνεις login. Δηλαδή:

/bin/bash ./bing_wallpaper.sh &

Αυτό που προτείνεις δεν θα δουλέψει όμως, γιατί οι γραμμές που παρέθεσες είναι εντός ενός loop, άρα αφού δεν θα εκτελείται η sleep, το σώμα του loop θα εκτελείται διαρκώς (download κτλ). Δοκίμασε αυτό που σου λέω με το & και αν δεν σου αρέσει, πες μας τι ακριβώς συμπεριφορά θέλεις και το βλέπουμε


edit

 

Άκυρο, αφού τα λέει το documentation ρε. Απλά θέλει και ένα δεύτερο argument για να εκτελέσει το loop μόνο μια φορά

https://github.com/marguerite/linux-bing-wallpaper#easy-commands

  • Like 1
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

  • 4 μήνες μετά...

Θελω απο διαφορα addon.xml (ονομα του αρχειου), που ειναι σε διαφορετικους υποφακελους το καθενα αλλα ολα μεσα στο /storage/kodi/addons/ να σβηνω αυτοματα οποια γραμμη λεει πανω της "xbmc.service", πχ αυτη εδω θελω να φυγει ολοκληρη.

<extension point="xbmc.service" library="service.py" start="startup" />
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

 

Θελω απο διαφορα addon.xml (ονομα του αρχειου), που ειναι σε διαφορετικους υποφακελους το καθενα αλλα ολα μεσα στο /storage/kodi/addons/ να σβηνω αυτοματα οποια γραμμη λεει πανω της "xbmc.service", πχ αυτη εδω θελω να φυγει ολοκληρη.

<extension point="xbmc.service" library="service.py" start="startup" />

 

Κάτι τέτοιο περίπου (δεν το δοκίμασα καθόλου, από μνήμης είναι)

find . -type f -name 'addon.xml' -exec sed '/xbmc\.service/d' {} \;
  • Like 1
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Ναι γιατί με το grep πετάς το line στο stdout και μετά το δίνεις σαν input στην sed με το -i switch (file update). Επίσης ξέχασες το leading / στις παραμέτρους του sed πρίν το xbmc.service.

 

Δοκίμασέ το έτσι:

find . -type f -name 'addon.xml' -exec sed -i '/xbmc\.service/d' {} \;
  • Like 1
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

:o

 

Οντως το / ελειπε! Τωρα δουλευει κανονικα, και δεν μπορω να τσεκαρω το δικο σου γιατι δεν εχω προβληματικα αρχεια πλεον :P 

Με σκετο sed παιζει να γινει? Ολο αυτο θα μπει στο autostart.sh του openelec και δεν θελω να εινια πολυπλοκο...

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...