Přihlásit
: [1]
   |   
: script před spuštěním X11  ( 4522 )
Linux-beginner


« : March 20, 2010, 08:36:56 »

Včera jsem tu řešil nakonfigurování DPI pro X11. Problém konfigurace jsem vyřešil. Problém je, že po restartu se soubory .kde4/share/configstartupconfig a kcmfonts překonfigurují a vynulují mi vynucení DPI. Chtěl bych napsat skript, který mi tu konfiguraci opět opraví na mých 192DPI (tohle není problém), ale nevím kam ho mám umístit. Vím, že existují nějaké skripty pod /etc/rc.d/rc5.d a pod /etc/X11/xinit a xinit.d , ale kam to strčit to nevím.
Paur
Hero Member
*****

Karma: 31
: 1 416


http://pavel-linux.blogspot.com/

312891810
« #1 : March 20, 2010, 09:47:11 »

/etc/rc.d/rc.local

NTB: Acer Extensa 5220 (Celeron 1,73 GHz,2GB), Mageia 2 32bit KDE 4.8.2)
PC: Intel C2D E4300,2GB,NVidiaGF7600GS,Mageia 2 32 bit KDE 4.8.2, WinXP Pro
Tablety: SmartQ V5-II (ARM 720 MHz, 256 MB, 2 GB, Android 2.1, Ubuntu 9.10 LXDE), Archos 101G9 (OMAP 2x1 GHz , 512 MB, Android 4)
Linux-beginner


« #2 : March 20, 2010, 10:18:00 »

Tak už to mám skoro hotové, jenom mi dělá problém to nahrazení. Problém je v tom, že potřebuju do proměnné content dostat obsah souboru kcmfonts. příkaz ${} ale neakceptuje lomítka v cestě a bere je jako chybnou substituci...

:
user="radim"
dpi=192
content=${cat /home/$user/.kde4/share/config/kcmfonts}
content=${content//ForceFontDPI=0"/"ForceFontDPI=dpi};
echo content; read
content=${cat /home/$user/.kde4/share/config/startupconfig}
content=${content//kcmfont_general_forcefontdpi=0/kcmfont_general_forcefontdpi=dpi};
echo content; read

[root@localhost rc.d]# content=${cat /home/$user/.kde4/share/config/kcmfonts}
bash: ${cat /home/$user/.kde4/share/config/kcmfonts}: chybná substituce
Linux-beginner


« #3 : March 20, 2010, 12:44:26 »

Už to skoro mám, jen zalomení řádku se mi nevede dostat do toho výpisu při echo. Nevíte co s tím?
Viz
:
user="radim"
dpi=192
path="/home/$user/.kde4/share/config/kcmfonts"
content=`cat $path`
content=${content/"ForceFontDPI=0"/"ForceFontDPI=dpi"};
echo $content; read
path="/home/$user/.kde4/share/config/startupconfig"
content=`cat $path`
content=${content/"kcmfont_general_forcefontdpi=0"/"kcmfont_general_forcefontdpi=dpi"};
echo $content; read
pert2
Sr. Member
****

Karma: 9
: 291


« #4 : March 20, 2010, 21:34:38 »

Nebylo by jednodušší použít:

 sed -i s/kcmfont_general_forcefontdpi=0/kcmfont_general_forcefontdpi=192/ /home/radim/.kde4/share/config/kcmfonts

Linux-beginner


« #5 : March 21, 2010, 09:11:53 »

Diky za vyreseni. Se sedem jeste delat neumim.

Jeste me napadlo, ze by se tam mohla dat volba nekolika rozliseni s nacasovanym vyberem (napr. 3 sekundy). Já toto udělat neumím, male kdyby někdo věděl jak a chtělo se mu, tak to sem může napsat. Např. "Vyber rozličení: 1) 90DPI 2)103DPI 3)120DPI 4)150DPI 5)192DPI 6)default 96DPI".

Jinak dneska když jsem spustil počítač, tak nastavení mi zůstalo na 192DPI, nevím proč.
Peťoš
Global Moderator
Hero Member
*****

Karma: 188
: 6 712



« #6 : March 21, 2010, 09:22:18 »

Něco jako:
:
echo "Vyber rozlišení:\n1) 90DPI \n 2) 103DPI \n3)120DPI \n4)150DPI \n5)192DPI \n6) 96DPI\n"
read $ROZLISENI
if [ -n "$ROZLISENI" ]; then
case $ROZLISENI in
"1") DPI=90 ;;
"2") DPI=103 ;;
"3") DPI=120 ;;
"4") DPI=150 ;;
"5") DPI=192 ;;
"6") DPI=95 ;;
esac

 sed -i s/kcmfont_general_forcefontdpi=0/kcmfont_general_forcefontdpi="$DPI"/ /home/radim/.kde4/share/config/kcmfonts


Do it or do not. There is no "try".

Peťošův repozitář je na adrese: http://petos.cz/rpms
Fotoblog: http://vzducholode.blogspot.com a http://petos.cz/category/fotky
Linux-beginner


« #7 : March 21, 2010, 09:36:34 »

No, jenže tys tam nedal ten časovač - to je to hlavní - protože to právě neumím.

:
echo -e "Vyber rozlišení:\n1) 90DPI \n 2) 103DPI \n3)120DPI \n4)150DPI \n5)192DPI \n6) 96DPI\n"
read ROZLISENI
if [ -n "$ROZLISENI" ]; then
case $ROZLISENI in
"1") DPI=90 ;;
"2") DPI=103 ;;
"3") DPI=120 ;;
"4") DPI=150 ;;
"5") DPI=192 ;;
"6") DPI=95 ;;
esac
fi;
Peťoš
Global Moderator
Hero Member
*****

Karma: 188
: 6 712



« #8 : March 21, 2010, 09:41:33 »

Jak načasovaným výběrem/časovač? Trochu to nechápu. Jestli chceš čekat 3 sekundy, tak sleep 3

Do it or do not. There is no "try".

Peťošův repozitář je na adrese: http://petos.cz/rpms
Fotoblog: http://vzducholode.blogspot.com a http://petos.cz/category/fotky
Linux-beginner


« #9 : March 21, 2010, 10:21:04 »

O sleep vím, ale když běží sleep, muselo by se to přerušit, když zmáčkneš nějakou klávesu a hodnota této klávesy by musela být vstupem pro read. Protože jinak zmáčkneš sleep a nic to neudělá. Za ty tři sekundy by se měla samo zvolit přednastavená volba, to jsem zapomněl uvést. Takže pokud uživatel nezmáčkne žádnou klávesu během tří vteřin, tak se doplní přednastavená volba.
Linux-beginner


« #10 : March 22, 2010, 14:58:18 »

Zkoušel jsem ten script na nastavení DPI doplnit o nastavení správného rozlišení. Chci jakoukoliv nahradit číslici. Zkoušel jsem [:digit:]+ a \d+ ale ani jedno nezabralo.
Z uvedených příkladů mi fungují pouze dva poslední, které ale nespecifikují, že tam musí být číslice:

:
user="petr"; dpi=192;
 xsize=1920; ysize=1080
sed -i s/kcmrandrrc_screen0_width="?[:digit:]+"?/kcmrandrrc_screen0_width="$xsize"/ /home/$user/.kde4/share/config/startupconfig
sed -i s/kcmrandrrc_screen0_height="?[:digit:]+"?/kcmrandrrc_screen0_height="$ysize"/ /home/$user/.kde4/share/config/startupconfig

sed -i s/kcmrandrrc_screen0_width="?\d+"?/kcmrandrrc_screen0_width="$xsize"/ /home/$user/.kde4/share/config/startupconfig
sed -i s/kcmrandrrc_screen0_height="?\d+"?/kcmrandrrc_screen0_height="$ysize"/ /home/$user/.kde4/share/config/startupconfig

sed -i s/kcmrandrrc_screen0_width=".*"/kcmrandrrc_screen0_width="$xsize"/ /home/$user/.kde4/share/config/startupconfig
sed -i s/kcmrandrrc_screen0_height=".*"/kcmrandrrc_screen0_height="$ysize"/ /home/$user/.kde4/share/config/startupconfig

Nevíte, kde dělám chybu?
pert2
Sr. Member
****

Karma: 9
: 291


« #11 : March 24, 2010, 20:31:50 »

S tím časováním myslíš něco jako:
:
#!/bin/bash

echo "Vyber rozlišení:\n1) 90DPI \n2) 103DPI \n3)120DPI \n4)150DPI \n5)192DPI \n6) 96DPI\n"
read -t 5 ROZLISENI

if [ "$?" != "0" ]; then
  sed -i s/kcmfont_general_forcefontdpi=0/kcmfont_general_forcefontdpi=120/g  /home/radim/.kde4/share/config/kcmfonts
  echo "Automaticky vybrana hodnota 120"
  exit 0
fi

if [ -n "$ROZLISENI" ]; then
case $ROZLISENI in
"1") DPI=90 ;;
"2") DPI=103 ;;
"3") DPI=120 ;;
"4") DPI=150 ;;
"5") DPI=192 ;;
"6") DPI=95 ;;
esac
sed -i s/kcmfont_general_forcefontdpi=0/kcmfont_general_forcefontdpi="$DPI"/g  /home/radim/.kde4/share/config/kcmfonts
fi

Linux-beginner


« #12 : March 25, 2010, 18:44:00 »

Jo, jo, děkuji za obohacující příspěvek  
: [1]
   |   
 
: