|
|
გამარჯობა, სტუმარო ( შესვლა | რეგისტრაცია )
May 21 2008, 08:51 AM
პოსტი
#1
|
|
![]() ფობოფობი ![]() ![]() ![]() ![]() ![]() ![]() ჯგუფი: გლობალ მოდერი პოსტები: 3.431 ნიკის ჩასმა ციტატაში ჩასმა მდებარეობა: საქართველო: თბილისი კომპი წევრი №: 26 |
გუშინ ჩამივარდა Eee PC-ს ერთი ეგზემპლარი ხელში (დიდი მადლობა განათლების სამინისტროს) და ორსაათიანი ურთიერთობის შემდეგ საკმაოდ კმაყოფილი დავრჩი (IMG:style_emoticons/default/smile.gif) მგონი პირველი სწორი გადაწყვეტილებაა ქართული განათლების კომპიუტერიზაციის სფეროში ..
მალე მოკლე განხილვასაც დავწერ (სრული განხილვა ასე 10 დღეში იქნება), იქამდე კი თქვენი აზრი მაინტერესებს ამ მოწყობილობაზე (IMG:style_emoticons/default/smile.gif) პოსტის უკანასკნელი ჩამსწორებელია domen: May 21 2008, 08:51 AM -------------------- უფალო, მომეცი ძალა, რომ შევცვალო ის, რისი შეცვლაც შემიძლია; მომეცი მოთმინება, რომ ავიტანო ის, რისი შეცვლაც არ შემიძლია; და მომეცი სიბრძნე, რომ გავარჩიო ერთი მეორისაგან.
Wir müssen wissen — wir werden wissen! "და ერთმა ისიც კი თქვა, შაშია რანაირად დაწერდა პიესას, ყელი გადამწვარი აქვს და ხმა კიდევ ჩახლეჩილი და პიესაში ხომ სულ ხმამაღალი ლაპარაკიაო. მოკლედ, ვიკამათეთ ბევრი... აზრთა გაცვლა-გამოცვლა იყო." ... მე ვიცნობდი ერთ ტეხასელ ბიჭს, ის მეთექვსმეტე სართულიდან გადმოხტა. მოფრინავდა და ყველა სართულზე იმეორებდა, ჯერჯერობით ყველაფერი შესანიშნავად მიდისო ... |
|
|
|
![]() |
Apr 16 2009, 04:56 PM
პოსტი
#2
|
|
![]() ერთი უსაქმური მეცნიერი ![]() ![]() ![]() ![]() ![]() ![]() ჯგუფი: კომპინფოელი პოსტები: 3.477 ნიკის ჩასმა ციტატაში ჩასმა მდებარეობა: Socket LGA775 წევრი №: 3.255 |
XANDROS OS-ის fastinit-ი.
მოკლედ რაშია საქმე, ლინუქსი როგორც წესი იტვირტება მეთოდით system start V მაგრამ ეს არის ძალიან ნელი, ამიტომ ასუსმა შექმნა fastinit-ი, მაგრამ ცუდი რაცაა, ამ ოხერს არ აქვს კონფიგურების საშUალება, მთლიანი პროგა ერთი ბინარია. ნუ გავჩითე ამის source, აი: პროგრამული კოდი #include <stdlib.h> #include <unistd.h> #include <errno.h> #include <sys/types.h> #include <sys/wait.h> #include <sys/stat.h> #include <fcntl.h> #include <dirent.h> #include <sys/mount.h> #include <utmp.h> #include <sys/select.h> #include <linux/reboot.h> #include <linux/fs.h> #include <stdio.h> #include <string.h> #define SIGNAL(sa, signal, func, flags) \ do { \ sa.sa_handler = func; \ sa.sa_flags = flags; \ sigemptyset(&sa.sa_mask); \ sigaction(signal, &sa, NULL); \ } while(0) static int shutdown_flag = 0; void sig(int sig) { } void sigchild() { int pid, st; while((pid = waitpid(-1, &st, WNOHANG)) != 0) { if (errno == ECHILD) break; } } int get_uptime(void) { FILE *pfd; char puptime[256]; int uptime = 0; if((pfd = fopen("/proc/uptime", "r")) != NULL) { fgets(puptime, 255, pfd); fclose(pfd); // round down to an integer.... sscanf(puptime, "%d", &uptime); } return uptime; } void shutdown(int sig) { int my_uptime; int count = 10; if (shutdown_flag) { shutdown_flag++; return; } shutdown_flag = 1; system("/usr/bin/touch /tmp/shutdown"); kill( -1, SIGTERM ); // disable transmitter on wireless - important on 2G (Bug 40716) system("/sbin/iwpriv ath0 radio 0 > /dev/null 2>&1"); system("/usr/bin/chvt 1; synclient TouchpadOff=1; clear; /bin/echo -e \"\\033[?25l\\033[30;40m\""); system("/bin/cp /boot/shutdown.fb /dev/fb/0"); //get ready to wait between 1 and 2 seconds here... my_uptime = get_uptime() + 2; // system("/bin/echo -e \"\\033[?25l\\033[30;40m\"; /bin/cp /boot/shutdown.fb /dev/fb/0"); // system("/usr/bin/chvt 1; /bin/echo -e \"\\033[?25l\" > /dev/tty1; /bin/cp /boot/shutdown.fb /dev/fb/0");; // system("/usr/sbin/chvt 1 && cp /root/shutdown800.fb /dev/fb/0");; // system("/bin/echo -e \"\\033[?25l\\033[30;40m\"; synclient TouchpadOff=1; cp /boot/shutdown.fb /dev/fb/0"); usleep(1000000); if ( (my_uptime > get_uptime()) && count-- ) { system("cp /boot/shutdown.fb /dev/fb/0"); usleep(1000000); } // save the user's ALSA settings system("/usr/sbin/alsactl store > /dev/null 2>&1"); system("/sbin/hwclock --systohc --localtime"); kill( -1, SIGKILL ); usleep(1000000); sync(); sync(); // remount root ro system("/bin/mount -n -o remount,ro /"); //system("/bin/sh"); system("/sbin/unionctl.static / --remove / > /dev/null 2>&1"); //system("/bin/sh"); if((SIGINT == sig) || (SIGUSR1 == sig)) { reboot(LINUX_REBOOT_CMD_RESTART); } else { int afn; if((afn = open("/proc/acpi/sleep", O_WRONLY )) >= 0) { write(afn,"5", 1); close(afn); } // system("/bin/echo 5 > /proc/acpi/sleep"); // reboot(LINUX_REBOOT_CMD_POWER_OFF); } } int main(int argc, char **argv) { struct sigaction sa; sigset_t sigmask; struct timespec tv; DIR *dirp; int i; chdir("/"); umask(022); //set up signals for(i = 1; i <= NSIG; i++) { SIGNAL(sa, i, SIG_IGN, SA_RESTART); } SIGNAL(sa, SIGINT, shutdown, 0); SIGNAL(sa, SIGPWR, shutdown, 0); SIGNAL(sa, SIGUSR1, shutdown, 0); SIGNAL(sa, SIGUSR2, shutdown, 0); SIGNAL(sa, SIGTERM, sig, 0); SIGNAL(sa, SIGKILL, sig, 0); SIGNAL(sa, SIGALRM, sig, 0); SIGNAL(sa, SIGHUP, sig, 0); SIGNAL(sa, SIGSTOP, sig, SA_RESTART); SIGNAL(sa, SIGCONT, sig, SA_RESTART); SIGNAL(sa, SIGCHLD, sigchild, SA_RESTART); // Block child signal, only receive them from pselect sigemptyset( &sigmask ); sigaddset( &sigmask, SIGCHLD ); sigprocmask( SIG_BLOCK, &sigmask, NULL ); reboot(LINUX_REBOOT_CMD_CAD_OFF); FILE *pfd; char pcmdline[256]; if((pfd = fopen("/proc/cmdline", "r")) != NULL) { fgets(pcmdline, 255, pfd); if(strstr(pcmdline,"quiet")) { close(0); close(1); close(2); } fclose(pfd); } setsid(); mount("proc", "/proc", "proc", 0, NULL); mount("sysfs", "/sys", "sysfs", 0, NULL); mount("devpts", "/dev/pts", "devpts", 0, "gid=5,mode=620"); mount("tmpfs", "/dev/shm", "tmpfs", 0, NULL); mount("tmpfs", "/tmp", "tmpfs", 0, "mode=1777,size=128m"); // We move the mount that was already moved in initramfs so that // the "/" point is correct. mount("/mnt", "/", NULL, MS_MOVE, NULL); //system("/bin/loadkeys -q /etc/console/boottime.kmap.gz"); // setting up the clock int fd; if((fd = open("/etc/adjtime", O_WRONLY|O_CREAT|O_TRUNC, 0644)) >= 0) { write(fd,"0.0 0 0.0\n",10); close(fd); } system("/sbin/hwclock --hctosys --localtime"); // clean ifstate, not needed as tmpfs is mounted there // system("/sbin/sysctl -p > /dev/null"); // probably not needed, who knows //this directory is now on /dev/shm system("mkdir -p /dev/shm/network"); system("mkdir -p /dev/shm/resolvconf/interface"); system("rm -f /var/run/*.pid"); if((dirp = opendir("/etc/resolvconf/run/interface")) != NULL) { struct dirent *de; char file[1024]; while((de = readdir(dirp))!=NULL) { if(!isalnum(de->d_name[0])) { sprintf(file,"/etc/resolvconf/run/interface/%s",de->d_name); unlink(file); } } closedir(dirp); } (void) close(open(UTMP_FILE, O_WRONLY|O_CREAT|O_TRUNC, 0644)); (void) close(open("/etc/resolvconf/run/enable-updates", O_WRONLY|O_CREAT|O_TRUNC, 0644)); chdir("/etc/resolvconf/run/interface"); system("/bin/run-parts --arg=-i /etc/resolvconf/update.d"); chdir("/"); //system("/etc/ppp/ip-down.d/0dns-down 0dns-clean > /dev/null");, useless (void) close(open("/etc/network/run/ifstate", O_WRONLY|O_CREAT|O_TRUNC, 0644)); FILE *hnf; char hostname[1024]; if((hnf = fopen("/etc/hostname", "r")) != NULL) { fgets(hostname, 1023, hnf); char *c = strchr(hostname,'\n'); if(c!=NULL)*c='\0'; sethostname(hostname, strlen(hostname)); fclose(hnf); } system("/sbin/ifconfig lo 127.0.0.1 netmask 255.0.0.0 up > /dev/null"); // urandom system("/bin/cat /var/lib/urandom/random-seed >/dev/urandom > /dev/null 2>&1"); unlink("/var/lib/urandom/random-seed"); umask(077); system("/bin/dd if=/dev/urandom of=/var/lib/urandom/random-seed \ bs=4096 count=1 >/dev/null 2>&1"); // clean /tmp directory system("/bin/rm -rf /tmp/* /tmp/.* 2>/dev/null"); unlink("/var/run/.clean"); unlink("/var/lock/.clean"); // setup X directories umask(000); mkdir("/tmp/.X11-unix", S_ISVTX|S_IRUSR|S_IWUSR|S_IXUSR|S_IRGRP|S_IWGRP|S_IXGRP|S_IROTH|S_IWOTH|S_IXOTH); mkdir("/tmp/.ICE-unix", S_ISVTX|S_IRUSR|S_IWUSR|S_IXUSR|S_IRGRP|S_IWGRP|S_IXGRP|S_IROTH|S_IWOTH|S_IXOTH); umask(022); // Fork and start autologin on child, services on main thread if (fork() == 0) { // Child // Hangup /dev/console. This resets the terminal. vhangup(); // Close std-all on /dev/console close (2); close (1); close (0); // Open tty1 if ((fd = open("/dev/tty1", O_RDWR, 0)) != 0) exit (1); // reset signals to default sigset_t nmask, omask; struct sigaction act; act.sa_flags = 0; sigemptyset( &act.sa_mask ); act.sa_handler = SIG_DFL; sigemptyset(&nmask); sigaddset(&nmask, SIGCHLD ); sigprocmask(SIG_UNBLOCK, &nmask, NULL); for(i=0; i < NSIG; i++) sigaction( i, &act, 0 ); // system("/usr/sbin/915resolution.static 3c 800 480 24 &> /dev/null"); // Move outputs to tty1 dup2(fd,0); dup2(fd,1); dup2(fd,2); (void) close(open("/tmp/nologin", O_WRONLY|O_CREAT|O_TRUNC, 0644)); while (stat("/tmp/shutdown", NULL) < 0) { system("su -c startx -l user &> /dev/null"); } exit(0); } system("/sbin/getty 38400 tty3 &"); // start extra services sleep(1); system("/usr/sbin/services.sh &> /dev/null &"); // catch pids and wait to shutdown/stop while(1) { sigemptyset( &sigmask ); pselect( 0, NULL, NULL, NULL, NULL, &sigmask); } return 0; } ეხლა რა მინდა მინდა რომ startx-ის მაგივრად გაიხსნას kdm (KDE Display Manager). ნუ იასნა ვცვლი system("su -c startx -l user &> /dev/null"); ამას ესე: system("kdm &> /dev/null"); (su-ს იმიტომ ვაძრობ რომ გაუშვა ROOT-ით), ვერაფერს ვიტყვი დავაკომპლირე, ჩავანაცვლე, KDM იშლება ჩემს თვალწინ, სისტემასაც ტვირთავს, მაგრამ რაშია პრობლემა, CPU load არის 100%. ექსპერიმენტისთვის ვქენი ესეთი რამე: დავაბრუნე ორიგინალი fastinit და startx-ში #!/bin/sh-ის ქვემოთ დავაწერე: sudo kdm exit 0 შედეგი იგივე CPU 100%, მაგრამ როგორც კი startx ჩავარედაქტირებდი, უკვე აქტიური სისტემდან და წავშლიდი exit 0-ს CPU აზრზე მოდიოდა. ნუ იასნა კოდიდან ამივთხარე exit(0); ეგრე მივაკოპლირე და შედეგი 0 (IMG:style_emoticons/default/sad.gif) აბა რამე შემოთავაზებები გაქვთ? -------------------- "ბრძნად მეტყუელებაჲ ვერცხლი არს წმინდაჲ, ხოლო დუმილი - ოქროჲ რჩეული", ვითარცა თქუა სოლომონ.
არამედ აწ მე ნაკლუვანებაჲ ჩემი არა მიფლობს დუმილად |
|
|
|
domen Asus Eee PC May 21 2008, 08:51 AM
otosaxel domen
გილოცავ
საკაიფო... May 21 2008, 02:03 PM
da_ta otosaxel
პირველ რიგში გი... May 21 2008, 02:15 PM
otosaxel da_ta
ციტატაპირველ რი... May 21 2008, 02:22 PM
domen ესსე იგგი.
ყუთი მშვ... May 21 2008, 02:28 PM
otosaxel domen
ციტატაჩემს დას მ... May 21 2008, 02:55 PM
Power_VANO domen
ეჰ.. რა დროს არ ვა... May 21 2008, 03:05 PM
otosaxel Power_VANO
ციტატა Xandros Linux
რა... May 21 2008, 03:15 PM
Power_VANO otosaxel
ციტატამაგის გა... May 21 2008, 03:20 PM
otosaxel Power_VANO
ციტატარუსთავე... May 21 2008, 03:20 PM
Power_VANO otosaxel
ციტატაუბრალოდ ... May 21 2008, 03:23 PM
otosaxel Power_VANO
ციტატაოპ. მეხს... May 21 2008, 03:26 PM
Power_VANO otosaxel
არა, არა, Starter Edition-ზ... May 21 2008, 03:28 PM
otosaxel Power_VANO
ციტატაგადასაყ... May 21 2008, 03:38 PM
domen otosaxel
სურათები ინტერ... May 21 2008, 04:18 PM
Giena Power_VANO
ციტატასიტყვაზ... May 21 2008, 06:39 PM
da_ta domen
ციტატაამათ ერთხ... May 21 2008, 07:14 PM
domen Giena
ციტატაQuoteEndQuoteEEndშეგ... May 21 2008, 08:55 PM
Giena domen
მაგის მიხედვით მ... May 21 2008, 10:23 PM
Power_VANO მოკლედ, რადგან EeePC-თ... May 22 2008, 03:07 AM
domen Giena
ჰო, დასაწყისში პ... May 22 2008, 04:14 AM
gio_kiborg გილოცავთ, ვინაც მი... May 27 2008, 05:26 PM
domen gio_kiborg
ციტატა1)მაგ კომ... May 27 2008, 05:51 PM
Power_VANO gio_kiborg
ციტატა2)შეიძლე... May 28 2008, 08:34 AM
ani_ani ვინმეს შეუძლია გამ... May 30 2008, 03:40 PM
gi0_kiborg ani_ani
ინსტრუქცია მოყ... May 30 2008, 03:51 PM
ani_ani რატო არ მირჩევ?? ანა... May 30 2008, 04:04 PM
domen ani_ani
და რაში დაგჭირდ... May 30 2008, 04:21 PM
Power_VANO domen
ციტატადა რაში და... Jun 1 2008, 04:45 PM
domen Power_VANO
შევიხსენოთ, რა... Jun 1 2008, 07:11 PM
Power_VANO domen
ისე, ოპერა ღია კო... Jun 2 2008, 12:33 PM
otosaxel მოკლედ დავაყენე Advanc... Jun 2 2008, 01:18 PM
domen otosaxel
დღეს დავაყენე ზ... Jun 2 2008, 01:57 PM
otosaxel domen
ციტატაAdvanced Mode-ის გ... Jun 2 2008, 02:12 PM
Power_VANO ციტატაღია კოდის მთ... Jun 2 2008, 02:15 PM
otosaxel Power_VANO
ციტატაეს ნახე ... Jun 2 2008, 02:20 PM
otosaxel ქართული კლავი:
1)შევ... Jun 2 2008, 02:41 PM
otosaxel Easy Modes გახსნა, მაშIნ რ... Jun 2 2008, 02:56 PM
otosaxel ციტატაapt-get remove xandros-scim
ა... Jun 2 2008, 03:13 PM
otosaxel თუ ოპერა არ დაინსტ... Jun 2 2008, 03:36 PM
gearge უნდა დაგაინტერესო... Jun 15 2008, 07:48 PM
profesor1900 domen
otosaxel
გილოცავთ გილ... Jun 16 2008, 04:05 PM
domen profesor1900
ხუთოსნებს (უფ... Jun 16 2008, 04:07 PM
otosaxela gearge
ციტატაუნდა დაგა... Jun 17 2008, 04:31 PM
gi0_kiborg ისე, კარგი იქნებოდ... Jun 21 2008, 08:57 AM
domen gi0_kiborg
ციტატაისე, კარ... Jun 21 2008, 09:10 AM
gi0_kiborg domen
ციტატაისე კი Windows ... Jun 21 2008, 10:48 AM
gi0_kiborg მოკლედ რა პრობლემა... Jun 21 2008, 11:01 AM
gio_kiborg ფლუდში რომ არ ჩათვ... Jun 21 2008, 02:27 PM
gearge domen და/ან otosaxel
WiFi-ის გარ... Jun 21 2008, 08:53 PM
domen gearge
LAN
თუ მოახერხებ ... Jun 22 2008, 06:47 AM
gio_kiborg gearge
სამწუხაროდ ეგ Ubunt... Jun 22 2008, 10:39 AM
gearge domen
თუ სიკეთეს აკეთე... Jun 22 2008, 01:48 PM
gio_kiborg დავაყენე ზემოთაღნ... Jun 22 2008, 03:26 PM
domen gearge
უნივერსიტეტში ა... Jun 22 2008, 03:45 PM
gearge domen
ციტატაუნივერსი... Jun 22 2008, 04:42 PM
Power_VANO gearge
არა, არა, მაგაზე ... Jun 22 2008, 05:20 PM
otosaxel gearge
ამ მოდელბში როგ... Aug 6 2008, 12:34 PM
otosaxel მოკლედ აქ პირველივ... Mar 12 2009, 01:22 PM
Bekward gearge
ციტატა(gearge @ 22nd June... Mar 12 2009, 06:16 PM
gi0_kiborg ხალხნო რა მინტერეს... Apr 28 2009, 06:38 PM
otosaxel gi0_kiborg
ციტატა(gi0_kiborg @ 2... Apr 28 2009, 06:57 PM
gi0_kiborg otosaxel
სპასიბა, არც ის... Apr 28 2009, 07:08 PM
kline თაჩფედი აღარ მუშაო... May 25 2009, 11:35 AM
otosaxel kline
ციტატა(kline @ 25th May 20... May 25 2009, 03:41 PM
kline Instal ALL ვნახოო? ცოტა ა... May 25 2009, 07:31 PM
otosaxel kline
ციტატა(kline @ 25th May 20... May 26 2009, 05:50 AM
kline ციტატა(otosaxel @ 26th May 2009 ... May 26 2009, 07:11 AM
Giga1 მოწყობილობაზე ვერ... May 26 2009, 08:33 AM
otosaxel kline
ციტატა(kline @ 26th May 20... May 26 2009, 11:02 AM
kline ციტატა(otosaxel @ 26th May 2009 ... May 26 2009, 04:16 PM
otosaxel kline
ციტატა(kline @ 26th May 20... May 26 2009, 04:53 PM
kline ციტატა(otosaxel @ 26th May 2009 ... May 26 2009, 06:31 PM
otosaxel kline
ციტატა(kline @ 26th May 20... May 26 2009, 08:12 PM
kline otosaxel
მოკლედ გადავწ... May 26 2009, 09:54 PM
kline რა ვუშველო დამეხმა... May 27 2009, 10:23 AM
otosaxel kline
ციტატა(kline @ 27th May 20... May 27 2009, 01:24 PM
kline otosaxel
აუ კარგად ამიხ... May 27 2009, 08:49 PM
otosaxel kline
ციტატა(kline @ 28th May 20... May 28 2009, 11:31 AM
kline otosaxel
გაიხარე, ყველა... May 28 2009, 03:18 PM
otosaxel kline
ციტატა(kline @ 28th May 20... May 28 2009, 04:36 PM
Giga1 ოთო შეიგიძლია ამიხ... May 28 2009, 08:13 PM
otosaxel Giga1
ციტატა(gigalobjanidze @ 29... May 28 2009, 08:48 PM
kline ციტატა(otosaxel @ 28th May 2009 ... May 29 2009, 06:17 AM
Giga1 otosaxel
ააა,გასაგებია May 29 2009, 09:01 AM
otosaxel kline
ციტატა(kline @ 29th May 20... May 29 2009, 01:07 PM
kline otosaxel
კი ეს ისაა სკოლ... May 29 2009, 01:34 PM
otosaxel kline
ციტატა(kline @ 29th May 20... May 29 2009, 01:42 PM
kline otosaxel
აუ გომ პლეიერი ... Jul 4 2009, 08:16 PM
otosaxel kline
ციტატა(kline @ 5th July 20... Jul 5 2009, 07:06 AM
kline otosaxel
კავაკეთე
ციტ... Jul 5 2009, 08:32 AM
otosaxel kline
ციტატა(kline @ 5th July 20... Jul 5 2009, 08:34 AM
kline otosaxel
აბა როგორ გავუ... Jul 5 2009, 09:01 AM
otosaxel kline
ციტატა(kline @ 5th July 20... Jul 5 2009, 09:03 AM
kline otosaxel
ხო ლინუქსის ვე... Jul 5 2009, 09:05 AM
Bekward kline
ლინუქსზე არ არს... Jul 6 2009, 06:22 AM
otosaxel Bekward
ციტატა(beka_sh @ 6th Jul... Jul 6 2009, 07:59 AM
Giena ვინმეს ხომ არ გაქვ... Jul 22 2009, 06:39 PM
otosaxel Giena
ციტატა(Giena @ 22nd July 2... Jul 23 2009, 08:23 AM![]() ![]() |
| მსუბუქი ვერსია | ახლა არის: 3rd November 2025 - 03:12 PM |