LXF125:Ответы
|
|
|
Содержание |
Ответы
- Есть вопрос по Open Source? Пишите нам по адресу answers@linuxformat.ru
1 Работа изнутри
В Я поставил VirtualBox в Linux Mint и установил в нем Windows XP, чтобы работать с неким приложением. Согласно Sun Microsystems, это возможно, на то и VirtualBox, но вот как это сделать, они, к сожалению, не сказали. Не могли бы ли вы мне помочь? Должен предупредить, что я полный нуль в Linux, хоть и пользуюсь компьютером много лет.
Деннис Янг [Dennis Young]
О Виртуальная машина, будь то VirtualBox или VMware, может рассматриваться как вполне самостоятельный отдельный компьютер. Почти полное отделение гостевой ОС (той, что работает в виртуальной машине) от основной хост-системы (той, в которой запущена VirtualBox) – это одно из ключевых преимуществ такой настройки. Поэтому все, что Вы хотели бы сделать в гостевой Windows, делайте так, как если бы это было в обычной Windows, установленной на отдельном компьютере. Для установки приложения идите на сайт программы, используя браузер в Windows, скачивайте setup.exe (или что там) и запускайте инсталлятор обычным порядком. Работая в виртуальной машине, можно забыть даже о самом существовании хост-системы.
Это разделение чрезвычайно удобно, но также и затрудняет обмен файлами между хостом и гостевой системой. Если, скажем, Вы скачали файл Windows-программы из Linux и Вам нужно перебросить ее в виртуальную машину Windows, то один из способов этого достичь – настроить общую папку в Windows и работать с ней из Linux (гостевая и хост-системы рассматриваются как два разных компьютера в одной сети). Вы не указали, какой дистрибутив и какую графическую среду Вы используете, но в большинстве случаев существует сетевой браузер, позволяющий найти и смонтировать разделяемые папки Windows. Для постоянного использования это будет наиболее удобным способом, но для одноразового доступа проще скопировать файлы на USB-носитель, отмонтировать его в Linux и получить к нему доступ в виртуальной машине в VirtualBox. Можно также воспользоваться функцией VirtualBox под названием Разделяемые папки [Shared folders], но она потребует установки специальных гостевых дополнений в Вашу виртуальную Windows. ПХ
2 Linux особого назначения
В Я работаю в сфере образования и познакомился с Linux примерно год назад, имея дело с нетбуками. До этого я уже некоторое время писал программы управления и собирал интерфейсные устройства (в основном на базе стандарта RS-232), используя старые ноутбуки с картой CompactFlash. Графического интерфейса тут не надо, и я работаю с MS-DOS и C++, а autoexec.bat вполне справляется со всем необходимым. Я жажду переехать на Linux из DOS, но пока не получил ответа на простой вопрос: какова минимальная установка, которая даст мне рабочую командную строку и обеспечит, чтобы моя программа запускалась при загрузке автоматически?
Также, не возникнет ли проблем при обращении моих программ к параллельным и последовательным портам в Linux? Заодно отмечу, что я пробовал Tiny Core Linux и ищу решения аналогичной проблемы. Как заставить браузер автоматически запускаться при загрузке, в рамках создания простого web-киоска для школьного набора ПО?
Гленн Уолш [Glenn Walsh]
О Неплохой выбор минимальной системы – Debian. CD для сетевой установки ставит только базовую систему, а далее по сети устанавливается то немногое, что необходимо именно вам. Существуют и другие «минимальные» дистрибутивы, достойные рассмотрения – например, Puppy Linux (http://www.puppylinux.org), но преимущество использования именно Debian состоит в том, что в нем можно настроить и полнофункциональный рабочий стол и развернуть тот же дистрибутив на настольной машине для разработки Ваших программ, без проблем перенося их на целевую систему для тестирования. В сетевой установке Debian используйте базовую текстовую установку и снимите отметку со всех групп пакетов, когда появится запрос о программах, которые Вы хотите установить. Тогда Вы получите только базовую систему.
Что касается языков программирования, то довольно просто разобраться с Python, и у него есть модули для доступа к последовательным и параллельным портам. Раздобыть их можно по адресу http://pyserial.sourceforge.net, и там же имеются пакеты для многих дистрибутивов. Если Вы предпочитаете компилируемый язык, то в Mono есть набор библиотек для последовательных портов (хотя доступ к параллельному порту поддерживается хуже), или же оставайтесь на знакомом Вам C++.
Установка программ из командной строки в Debian делается с помощью apt-get; добавить Python вместе с модулями для последовательного и параллельного портов можно так:
apt-get install python-serial python-parallel
Упоминать сам Python не обязательно: он автоматически установится как зависимость для этих двух пакетов.
Запуск программ при старте компьютера осуществляется скриптами из каталога /etc/init.d – они выполняют различные службы, необходимые для функционирования ОС. Одна из служб, в свою очередь, запускает локальные скрипты из файла /etc/rc.local, так что программы, необходимые Вам при запуске, нужно вписать в этот файл. Каждая из команд должна запускаться в фоновом режиме, поэтому добавляйте знак & в конце каждой строки, иначе процесс загрузки не станет продолжаться до тех пор, пока эта команда не отработает. Например:
/usr/local/bin/мой_скрипт.py &
Автоматический запуск настольного приложения несколько отличается. Большинство оконных менеджеров используют файл .xinitrc из домашнего каталога пользователя, так что добавлять команды нужно в него. Более крупные рабочие среды знают про каталог Autostart, но для простого киоск-приложения это будет перебор. В Tiny Core все запускается из .xsession, поэтому просто допишите команду, открывающую нужный Вам браузер, в конец этого файла.
В другом дистрибутиве настроить браузер, предназначенный для работы с киоском, можно, поместив в /etc/rc.local (или аналог этого файла в установленном у Вас дистрибутиве – точный путь может несколько отличаться) следующую команду:
/bin/su - kioskuser -c “/usr/bin/startx &>/dev/null” &
Она запускает графический сервер от имени пользователя kioskuser (rc.local выполняется от имени суперпользователя-root, так что вводить пароль не требуется). Поскольку браузер будет запускаться в полноэкранном режиме, то менеджер окон Вам и не нужен; для запуска Firefox поместите следующие строки в файл /home/kioskuser/.xinitrc:
/usr/bin/xset s off /usr/bin/xset -dpms firefox http://нужный_сайт.com
Первые две строчки отключают хранитель экрана и режим сбережения энергии, а затем загружается Firefox. Если Вы используете чтото вроде расширения Full Screen для Firefox, то браузер будет стартовать в режиме киоска. НБ
3 Земля тормозит
В У меня есть нетбук Samsung NC10, и я затруднился с работой Google Earth в Ubuntu 9.04. Программа выполняется очень медленно и тратит вечность на изменение масштаба и навигацию по карте. В Windows XP с той же программой проблем нет: все работает хорошо и масштаб изменяется очень быстро. Вдобавок программа прекрасно работает на моей основной машине с Ubuntu 8.10. Искал решение на форумах — без особого успеха. В журналах при запуске программы говорится про /root/.googleearth и /root/googleearth/cache и приводится совет поместить их в каталог /home. На другой моей машине такого не происходит.
Джефф Дингл [Jeff Dingle]
О Приложение будет работать с файлами из каталога /root только в том случае, если оно запущено от имени root или из-под sudo в Ubuntu. Это можно делать только с программами, предназначенными для настройки системы.
Обычная причина замедления Google Earth – отсутствие 3D-ускорения в Вашей графической карте или в драйвере для нее. Google Earth настолько зависит от наличия 3D-ускорения, что без него Вы скорее дойдете пешком до той местности, которую хотите увидеть в программе, чем она Вам ее покажет.
Похоже, что в видеодрайвере для карт Intel в Ubuntu 9.04 появились какие-то проблемы, которых не было в более ранних релизах Ubuntu. Первым делом выполните такой тест:
glxinfo | grep render
и если будет сообщение об использовании программного ускорения – то мы нашли источник проблемы. Причин может быть несколько, как и путей решения, и на страничке Ubuntu Wiki есть их подробное описание. Зайдите по адресу https://wiki.ubuntu.com/X/Troubleshooting/IntelPerformance и разбирайтесь с тамошними рецептами до тех пор, пока не получите 3D-ускорение, достойное Вашей карты. НБ
4 Удаление программ
В На LXF123 DVD я обнаружил утилиту ImageKonverter, которую давно искал. Будучи относительным новичком, я порадовался, что без особых проблем установил и запустил ее. Но, к сожалению, программа толком и не заработала; она распознает только часть моих файлов изображений (а все они — в формате JPEG и скопированы из моей фотокамеры) и иногда не видит ничего в моих папках. Папки F-Spot — где вообще-то более 500 фотографий — отображаются пустыми.
Хорошего тут мало, и я попробовал удалить программу. В Установке/Удалении приложений ее нет, нет и в менеджере Synaptic, и как мне теперь от нее избавиться? У меня Ubuntu 9.04. Буду благодарен за вашу помощь, поскольку уверен, что этот вопрос всплывет для меня еще не раз.
Дэйв Эйджер [Dave Ager]
О Synaptic располагает информацией только о тех пакетах, которые были установлены через него или находятся в доступных ему репозиториях или источниках программ, но ничего не знает о программах, которые Вы собираете из исходных текстов. Установка/удаление приложений использует ту же базу пакетов, так что все вышесказанное применимо и здесь. Многие программы, устанавливаемые с помощью make install, можно удалить с помощью make uninstall, и ImageKonverter – одна из них. Возвратитесь в каталог, в котором Вы запускали make install, и запустите
sudo make uninstall
Если Вы уже удалили распакованное дерево исходников, то снова распакуйте tar-архив с DVD и запустите
qmake sudo make uninstall
Необходимости в make здесь нет, но может понадобиться qmake, поскольку некоторые программы устанавливают файлы по разным путям в зависимости от системы, где происходит установка – 32-битной или 64-битной. Если Вы имеете дело с пакетом, где применяется более распространенные ./configure; make; sudo make install, то просто выполните
./configure sudo make uninstall
Поскольку Вы уверены, что Ваша проблема вернется (и я не стану с вами спорить), то есть еще одна возможность, к которой можно прибегнуть в будущем. Checkinstall (http://checkinstall.izto.org) – полезная программа, собирающая пакеты из исходных кодов. Установите ее (она есть в репозиториях большинства дистрибутивов), и, дойдя до момента, когда нужно будет запускать make install, вместо этого выполните
checkinstall -D
Checkinstall сама запускает make install, наблюдает за тем, какие файлы куда устанавливаются, и затем собирает пакет. Опция -D говорит программе, что нужно собрать пакет Deb; также можно создать пакеты RPM и Slackware. Причем пакеты добавляются в базу данных Вашего пакетного менеджера, и позже их можно удалить даже при отсутствии make uninstall или аналога, да и незачем хранить исходные коды этой программы.
Хотя Checkinstall обычно используют для сборки пакетов с помощью make install, она умеет также работать и с другими программами установки, поэтому собрать пакет Deb (или RPM) можно практически для любой программы, которую Вы устанавливаете помимо пакетного менеджера. Таким образом система содержится в полном порядке. МС
5 А мой Canon против
В Недавно купил для моей девушки ноутбук Toshiba NB100 с Ubuntu и пытаюсь рассказать ей о преимуществах Linux над Microsoft, преодолевая скептицизм ее братьев! Проблема, которая стоит у меня на пути — принтер Canon Pixma iP100, который не хочет работать в Ubuntu. Скачанные с официального сайта Canon драйверы не заработали из-за какого-то конфликта, и несмотря на наши с подругой усилия, мы никак не можем заставить принтер работать.
Майкл Рекс [Michael Rex]
О Существует пакет с драйверами для Ubuntu, скачать который можно с сайта http://tinyurl.com/lvmwba. Понадобятся два пакета: пакет Debian для iP100 и пакет Debian Common. В одиночку пакет iP100 не установится, что и может быть корнем Вашей проблемы. Первым нужно установить пакет common, так что загрузите оба файла в Ваш домашний каталог и для начала дважды щелкните по cnijfilter-common, нажмите кнопку Установить пакет и затем повторите процедуру для второго файла. Если Вы попробуете сначала установить cnijfilter-ip100, то вместо кнопки Установить пакет увидите сообщение об ошибке. Во время установки может возникнуть сообщение о том, что Вам нужно запустить
sudo apt-get install -f
в окне терминала. Это означает, что другие файлы, необходимые для этого пакета, не установлены, а вышеприведенная команда найдет их для Вас. Вместо этого также можно проделать все сразу с помощью команды
dpkg --install cnijfilter-*
Файлы драйвера загрузятся в систему, и Вы теперь сможете пройти по меню Система > Администрирование > Печать [System > Administration > Printing] и настроить Ваш принтер.
Исчерпывающим источником информации обо всем, что относится к принтерам в Linux, является база данных Open Printing на http://www.openprinting.org, где можно узнать о том, поддерживается ли принтер или нет, а также указано, какой драйвер нужно использовать для принтера.
Альтернатива – Turboprint (http://www.turboprint.info), набор коммерческих драйверов для принтеров. Есть демо-версия, позволяющая проверить, хорошо ли поддерживается Ваш принтер, прежде чем выкладывать денежки. НБ
6 Debian подушкой
В Установил на своем компьютере Debian 5 с диска LXF118. Все работает прекрасно, но я не могу настроить разрешение экрана на правильное значение 1680×1050. Соотношения сторон по умолчанию равны 4:3 или 5:4, а не 8:5, которое нужно для моего ЖК-экрана. Есть ли способ добавить разрешение 1680×1050 в список опций, или я навеки прикован к подушкообразным искажениям?
Дейв Темпл [Dave Temple]
О Вы не указали модель Вашего монитора (хотя с таким разрешением это может быть только очень новая ЖК-модель), но вся линейка более старых CRT-моделей поддерживает стандарт EDID (Extended Display Identification Data, Расширенные данные идентификации дисплея), который позволяет графическим картам получать информацию о возможностях монитора в надежде на то, что X-сервер сумеет подобрать подходящую конфигурацию.
Есть пара возможностей, которые Вы можете испытать; первая из них – переименовать /etc/X11/xorg.conf во что-нибудь типа /etc/X11/xorg.conf.old и затем перезапустить X. В отсутствие xorg.conf свежая версия X.Org настроит дисплей на лету, для чего ей придется прочесть информацию о возможностях монитора.
Также можно заставить Debian перенастроить X.Org-сервер таким манером:
dpkg-reconfigure xserver-xorg
Проверить, выдает ли графическая карта правильную EDID-информацию, можно, введя от имени root
get-edid | parse-edid
Команда get-edid считывает информацию с монитора, а parse-edid переводит ее в человеко-читаемый формат, который также можно использовать и в xorg.conf.
Если все это не даст результатов, можно отредактировать /etc/xorg.conf и добавить правильные видеорежимы вручную. Изменения делаются в секцию Screen, где по умолчанию обычно пишется нечто вроде следующего:
Section “Screen” Identifier “Default Screen” Monitor “Configured Monitor” EndSection
После внесения изменений она должна выглядеть примерно так:
Section “Screen” Identifier “Default Screen” Monitor “Configured Monitor” DefaultDepth 24 SubSection “Display” Depth 24 Modes “1680x1050” “1280x800” “1024x768” EndSubsection EndSection
Для каждого значения глубины цвета экрана понадобится один подраздел SubSection (хотя, вероятно, Вам понадобится всего один подраздел для глубины в 24 бита). Внутри этого подраздела укажите возможные видеорежимы. Порядок важен, поскольку первый режим будет использоваться как режим по умолчанию. Добавленные Вами разрешения должны стать доступными в настройках Параметры экрана [Screen Resolution] после перезагрузки X. Для этого нажмите Ctrl+Alt+F1, чтобы попасть в виртуальный терминал (окно X-терминала, такого, как Gnome Terminal, здесь не годится), авторизуйтесь как root и запустите
/etc/init.d/gdm stop /etc/init.d/gdm start
Если Вы используете KDE, а не Gnome, замените gdm на kdm. Также можно заменить отдельные команды stop и start на одну restart, но это сработает не во всех дистрибутивах. НБ