Здесь будут шапка и навигация. Вернуться на сайт.

 

Настройка andLinux

Главная страница – andLinux (coLinux/Ubuntu).

:!: На примере KDE-версии andLinux.

"Правильные" скрипты запуска и остановки andLinux

Предполагается, что andLinux установлен как сервис Windows, который запускается автоматически вместе с Windows. Запуск остальных компонентов производится из файла srvstart.bat в папке andLinux и остановка - файлом srvstop.bat. Рекомендуется изменить их на следующие с учётом рекомендаций.

«Правильный» скрипт запуска srvstart.bat:

  set Path=D:\Soft\System\andLinux 
   
  cd "%Path%\Xming" 
  if exist Xming.exe start "" Xming.exe :0 -dpi 85 -clipboard -notrayicon -c -multiwindow -reset -terminate -unixkill -logfile Xming.log -xkbmodel pc105 -xkblayout us,ru -xkboptions grp:alt_shift_toggle -engine 4 
   
  cd "%Path%\Launcher" 
  if exist menu.exe start "" menu.exe 
   
  cd "%Path%\pulseaudio" 
  if exist pulseaudio.exe start "" pulseaudio.exe --daemonize 

В строке set Path=D:\Soft\System\andLinux укажите ваш путь к andLinux. Xming здесь запускается с поддержкой русской раскладки и переключением по Alt+Shift. А pulseaudio здесь запускается с ключом –daemonize, что позволяет ему работать под Vista.

«Правильный» скрипт запуска srvstop.bat:

  D:\Soft\System\SysinternalsSuite\pskill.exe menu.exe 
  D:\Soft\System\SysinternalsSuite\pskill.exe Xming.exe 
  D:\Soft\System\SysinternalsSuite\pskill.exe pulseaudio.exe 

Где D:\Soft\System\SysinternalsSuite\pskill.exe – это путь к программе pskill из пакета SysInternals.

Интеграция с проводником с учётом русских имён

andLinux добавляет возможность открыть из проводника Windows папки в Konqueror и Konsole (и т.д.) Но пути, содержащие русские буквы открываются неправильно. Чтобы исправить это, необходимо изменить первую половину файла /usr/local/sbin/launcher.pl так:

 #!/usr/bin/perl 
  
 use IO::Socket; 
  
 # $wincharset must be configured depending on one's environment.  
 # To see all available charsets, run:  
 # perl -e 'use Encode; @list=Encode->encodings(":all"); print "@list\n";'  
 use Encode;  
 $wincharset = "cp1251";  
  
 $windowsPathPrefix = "D:\\"; 
 $linuxPathPrefix = "/mnt/win/"; 
  
  
 $sock = new IO::Socket::INET(LocalPort => 81, Reuse => 1, Listen => 20) or die("Error creating local socket: $@\n"); 
  
 while($client = $sock->accept()) 
 { 
 $request = <$client>; 
 chomp $request; 
  
 # Fix windows charset here so that option parameters are handled correctly as well.  
 if ($wincharset ne "")  
 {  
 $request = encode('utf8', decode($wincharset, $request)); 
 }  
  
  
 if($request =~ m/^cmd=(.+)&file=(.*)$/) 
 { 
 ..... 

Русификация andLinux и добавление поддержки русских имён в COFS

Выполнить в консоли (добавление русской локали):

  localedef -i ru_RU -c -f UTF-8 /usr/lib/locale/ru_RU.UTF-8 

Измените файл /etc/environment:

  PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/X11:/usr/games" 
  LANG=ru_RU.UTF-8 
  LANGUAGE=ru 
  LC_ALL=ru_RU.UTF-8 
  KDE_UTF8_FILENAMES=1 

Далее запускаем KControl, выбираем «Regional & Accessibility» → «Country/Region & Language», нажимаем «Install New Language». Далее следуем по инструкциям диалога установки нового языка.

Доступ на запись к файловой системе Windows для не-root пользователей

По умолчанию файловая система Windows монтируется в andLinux с правами на запись только для пользователя root и группы пользователей root. Следовательно надо добавить определённого пользователя к группе root:

  usermod -a -G root имяпользователя 

или сделать это в программе kuser. Также в файле /etc/fstab нужно изменить строки, отвечающие за примонтирование файловой системы Windows:

  /dev/cofs0 /mnt/win cofs rw,suid,dev,exec,auto,nouser,async,dmask=0774,fmask=0774 0 0 

Установка Portable-версии

andLinux поставляется в виде установочного файла. Если же вы хотите переместить папку andLinux в произвольное место, или, к примеру, заставить работать его после переустановки Windows, то вы можете воспользоваться следующим скриптом, который установит все необходимые службы, драйвера и записи в реестре. Необходимо скопировать всё содержимое andLinux в определённое место, создать в этой папке файл install.py, сохранить в нём следующий код и запустить (для этого должен быть установлен ActivePython 2.5).

 ''' 
 andLinux Portable Installer 
 Author: Danil Semelenov 
 ''' 
 import os 
 import sys 
 import _winreg 
 import win32api 
  
 dirname = os.path.dirname(sys.argv[0]) 
  
 print "[Updating registry]" 
 key = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE, r"SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers", 0, _winreg.KEY_WRITE) 
 _winreg.SetValueEx(key, r'%s\colinux-daemon.exe' % dirname, 0, _winreg.REG_SZ, 'WINXPSP2') 
 _winreg.SetValueEx(key, r'%s\colinux-net-daemon.exe' % dirname, 0, _winreg.REG_SZ, 'WINXPSP2') 
 _winreg.SetValueEx(key, r'%s\colinux-slirp-net-daemon.exe' % dirname, 0, _winreg.REG_SZ, 'WINXPSP2') 
 _winreg.SetValueEx(key, r'%s\pulseaudio\pulseaudio.exe' % dirname, 0, _winreg.REG_SZ, 'WINXPSP2') 
 _winreg.SetValueEx(key, r'%s\Xming\Xming.exe' % dirname, 0, _winreg.REG_SZ, 'WINXPSP2') 
  
 shell_key = _winreg.OpenKey(_winreg.HKEY_CLASSES_ROOT, r"Folder\shell") 
 key = _winreg.CreateKey(shell_key, "andKonsole") 
 _winreg.SetValueEx(key, '', 0, _winreg.REG_SZ, 'Konsole (andLinux)') 
 key = _winreg.CreateKey(key, "command") 
 _winreg.SetValueEx(key, '', 0, _winreg.REG_SZ, r'"%s\Launcher\andKonsole.exe" --workdir "%%1"' % dirname) 
  
 key = _winreg.CreateKey(shell_key, "andKHomeFolder") 
 _winreg.SetValueEx(key, '', 0, _winreg.REG_SZ, 'Konqueror (andLinux)') 
 key = _winreg.CreateKey(key, "command") 
 _winreg.SetValueEx(key, '', 0, _winreg.REG_SZ, r'"%s\Launcher\andKHomeFolder.exe" "%%1"' % dirname) 
  
 print "Done" 
 print 
  
 print "[Installing andLinux driver]" 
 print os.popen(r'net stop andLinux 2>&1').read() 
 print os.popen(r'cd %s & D: & colinux-daemon.exe --remove-driver 2>&1 & colinux-daemon.exe --install-driver 2>&1' % dirname).read() 
 print 
  
 print "[Installing network interface]" 
 print os.popen(r'cd %s\netdriver & D: & tapcontrol.exe remove tap0801co 2>&1 & tapcontrol.exe install OemWin2k.inf tap0801co 2>&1' % dirname).read() 
  
 print "[Setting up network interface]" 
 key = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE, r"SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}") 
 for i in range(1, 100): 
     try: 
         subkey = _winreg.OpenKey(key, "%04d" % i) 
     except: 
         break 
     ComponentId, _ = _winreg.QueryValueEx(subkey, "ComponentId") 
     if ComponentId == "tap0801co": 
         NetCfgInstanceId, _ = _winreg.QueryValueEx(subkey, "NetCfgInstanceId") 
  
         key = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE, r"SYSTEM\CurrentControlSet\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}\%s\Connection" % NetCfgInstanceId, 0, _winreg.KEY_WRITE) 
         _winreg.SetValueEx(key, 'Name', 0, _winreg.REG_SZ, 'TAP-Colinux') 
  
         key = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE, r"SYSTEM\CurrentControlSet\Services\%s\Parameters\Tcpip" % NetCfgInstanceId, 0, _winreg.KEY_WRITE) 
         _winreg.SetValueEx(key, 'EnableDHCP', 0, _winreg.REG_DWORD, 0) 
         _winreg.SetValueEx(key, 'IPAddress', 0, _winreg.REG_MULTI_SZ, ['192.168.11.1']) 
         _winreg.SetValueEx(key, 'SubnetMask', 0, _winreg.REG_MULTI_SZ, ['255.255.0.0']) 
  
         key = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE, r"SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\%s" % NetCfgInstanceId, 0, _winreg.KEY_WRITE) 
         _winreg.SetValueEx(key, 'AddressType', 0, _winreg.REG_DWORD, 1) 
         _winreg.SetValueEx(key, 'EnableDHCP', 0, _winreg.REG_DWORD, 0) 
         _winreg.SetValueEx(key, 'IPAddress', 0, _winreg.REG_MULTI_SZ, ['192.168.11.1']) 
         _winreg.SetValueEx(key, 'SubnetMask', 0, _winreg.REG_MULTI_SZ, ['255.255.0.0']) 
          
         break 
  
 print "Done" 
 print 
  
 print "[Installing andLinux service]" 
 print os.popen(r'cd %s & D: & colinux-daemon.exe --install-service andLinux @%s\settings.txt 2>&1' % (dirname, win32api.GetShortPathName(dirname))).read() 
 print os.popen(r'sc config andLinux start= delayed-auto depend= "CoLinuxDriver/lanmanserver" 2>&1').read() 
 print os.popen(r'net start andLinux 2>&1').read() 
 print 
 
andlinux/настройка.txt · Последние изменения: 09.10.10 20:54 (внешнее изменение)