προσθήκη εικονιδίου γλώσσας για όλους τους χρήστες

Ξεκίνησε από ChrsMel, 27 Ιαν 2009, 11:13:51 ΠΜ

« προηγούμενο - επόμενο »

ChrsMel

Πώς μπορώ να προσθέσω εικονίδιο γλώσσας για όλους τους χρήστες (μέσω script ή αντιγραφής κάποιου αρχείου)
ή να δημιουργείται αυτόματα το εικονίδιο κατά τη δημιουργία του χρήστη;
Οι νέοι χρήστες έχουν εξ ορισμού το Atl-Shift αλλα όχι το εικονίδιο.

Wizard

Για να έχουν οι χρήστες προκαθορισμένες αρχικές ρυθμίσεις στην επιφάνεια εργασίας τους, αυτό που κάνω είναι να φτιάξω έναν επιπλέον χρήστη, να κάνω όποιες ρυθμίσεις θέλω και μετά να κάνω copy και chown τον φάκελο ~/.gconf στον κανονικό χρήστη.
Κάπως έτσι:
sudo cp -r /home/MYDEFAULTUSER/.gconf  /home/user1/.gconf
sudo chown -R user1:user1 /home/user1/.gconf

alkisg

Αυτό που είπε ο Wizard δουλεύει μια χαρά και είναι πολύ βολικό στην πράξη, τυπικά όμως δεν επιτρέπεται να αντιγράφουμε το φάκελο gconf, γιατί μπορεί να περιέχει και πληροφορίες με διαδρομές (paths) μέσα, οπότε εν τέλει κάποια εφαρμογή του user1 να ψάχνει στα αρχεία του MYDEFAULTUSER.

Ο προτεινόμενος τρόπος γι' αυτή τη δουλειά θα ήταν το πρόγραμμα επεξεργασίας προφίλ χρηστών sabayon. Όμως το είχαν παρατήσει και πρόσφατα άρχισαν πάλι τη συντήρησή του, από το Ubuntu 9.04 (Jaunty) και μετά θα το ξαναδούμε σε ενεργό δράση.

Επομένως μέχρι να ετοιμαστεί το sabayon γυρνάμε στη μέθοδο του Wizard, προσθέτοντας όμως κάποιες βελτιώσεις:
http://library.gnome.org/admin/system-admin-guide/stable/gconf-8.html.en
Ειδικά για τα panels είναι η παράγραφος 1.6.6.2.

Περιληπτικά όπως το δοκίμασα στην 8.10:

  • Συνδεόμαστε με συνεδρία επισκέπτη ώστε να έχουμε ένα καθαρό περιβάλλον (αν δεν έχουμε 8.10, συνδεόμαστε ως κάποιος καινούργιος χρήστης).
  • Προσαρμόζουμε τα panels όπως θέλουμε.
  • Εξάγουμε τις ρυθμίσεις των panels:
Κώδικας: shell
gconftool-2 --dump /apps/panel > /tmp/my-panel-setup.entries


  • Εάν θέλουμε, ανοίγουμε με το gedit το αρχείο /tmp/my-panel-setup.entries για να δούμε μήπως μας ξέφυγε κάποιο path (MYDEFAULTUSER κτλ). Για τη γλώσσα προφανώς δεν υπάρχει περίπτωση να μας ξέφυγε κάτι.
  • Αποσυνδεόμαστε από επισκέπτες και επιστρέφουμε στο λογαριασμό μας.
  • Δίνουμε το παρακάτω ώστε να προστεθούν οι ρυθμίσεις στο αρχείο προεπιλογών:
Κώδικας: shell
sudo gconftool-2 --direct \
  --config-source xml:readwrite:/etc/gconf/gconf.xml.defaults \
  --load /tmp/my-panel-setup.entries


Πλέον έχουμε αλλάξει τις προεπιλεγμένες ρυθμίσεις για τους νέους χρήστες. Για να τις εφαρμόσουμε σε κάποιον υπάρχοντα χρήστη, αρκεί να χρησιμοποιήσουμε το gconftool-2 για να διαγράψουμε το /apps/panel του χρήστη.


...γι' αυτό λέω να φτιάξουμε ένα όμορφο interface με μια συλλογή από scripts που να κάνουν αυτόματα όλα τα παραπάνω, ώστε να παιδεύεται μια φορά αυτός που τα βρίσκει και οι υπόλοιποι να κάνουν απλά 2-3 κλικ... :)

alkisg

Να και ένας πιο αυτοματοποιημένος τρόπος για την προσθήκη μόνο του εικονιδίου γλώσσας για όλους τους χρήστες, χωρίς να πειράζονται οι υπόλοιπες ρυθμίσεις των πινάκων. Απλά κατεβάζετε και εκτελείτε το συνημμένο script με την εντολή
Κώδικας: shell
sudo sh add-keyboard-applet.sh


Η παραπάνω εντολή το βάζει ως προεπιλογή για νέους χρήστες.

Για τους υπάρχοντες χρήστες δυσκολεύουν ελαφρώς τα πράγματα, επειδή θα πρέπει να εκτελεστεί η εντολή sh add-keyboard-applet.sh για κάθε χρήση ξεχωριστά!
Να δύο τρόποι για να γίνει αυτό, ο ένας άμεσος και ο άλλος κατά το logon.

1ος τρόπος:
Αν όλοι οι επιθυμητοί χρήστες ανήκουν σε κάποιο group, για παράδειγμα στο fuse ή στο students, τότε μπορείτε να κάνετε
Κώδικας: shell
USERS=$(getent group fuse | cut -d':' -f4 | tr ',' "\n")
for U in $USERS
do
  sudo su $U -c 'sh add-keyboard-applet.sh'
done

Προσέξτε το add-keyboard-applet.sh να είναι στον τρέχοντα κατάλογο, αλλιώς βάλτε το πλήρες μονοπάτι.

2ος τρόπος:
Μπορείτε να το αντιγράψετε στον κατάλογο /etc/profile.d ώστε να εκτελείται όταν συνδέεται κάποιος χρήστης:
Κώδικας: shell
  sudo cp add-keyboard-applet.sh /etc/profile.d/add-keyboard-applet.sh
  chmod +x /etc/profile.d/add-keyboard-applet.sh

Όταν περάσουν αρκετές μέρες και έχουν συνδεθεί τουλάχιστον από μία φορά όλοι οι χρήστες, θυμηθείτε να το διαγράψετε με
Κώδικας: shell
  sudo rm /etc/profile.d/add-keyboard-applet.sh