LXF156:Answers
|
|
|
Ответы
Есть вопрос по открытому ПО? Пишите нам по адресу answers@linuxformat.ru, и мы найдем ответ.
- Метамодернизм в позднем творчестве В.Г. Сорокина
- ЛитРПГ - последняя отрыжка постмодерна
- "Ричард III и семиотика"
- 3D-визуализация обложки Ridero создаем обложку книги при работе над самиздатом.
- Архитектура метамодерна - говоря о современном искусстве, невозможно не поговорить об архитектуре. В данной статье будет отмечено несколько интересных принципов, характерных для построек "новой волны", столь притягательных и скандальных.
- Литература
- Метамодерн
- Рокер-Прометей против изначального зла в «Песне про советскую милицию» Вени Дркина, Автор: Нина Ищенко, к.ф.н, член Союза Писателей ЛНР - перепубликация из журнала "Топос".
- Как избавиться от комаров? Лучшие типы ловушек.
- Что делать если роблокс вылетает на windows
- Что делать, если ребенок смотрит порно?
- Почему собака прыгает на людей при встрече?
- Какое масло лить в Задний дифференциал (мост) Visco diff 38434AA050
- О чем может рассказать хвост вашей кошки?
- Верветки
- Отчетность бюджетных учреждений при закупках по Закону № 223-ФЗ
- Срок исковой давности как правильно рассчитать
- Дмитрий Патрушев минсельхоз будет ли преемником Путина
- Кто такой Владислав Поздняков? Что такое "Мужское Государство" и почему его признали экстремистским в России?
- Как правильно выбрать машинное масло в Димитровграде?
- Как стать богатым и знаменитым в России?
- Почему фильм "Пипец" (Kick-Ass) стал популярен по всему миру?
- Как стать мудрецом?
- Как правильно установить FreeBSD
- Как стать таким как Путин?
- Где лучше жить - в Димитровграде или в Ульяновске?
- Почему город Димитровград так называется?
- Что такое метамодерн?
- ВАЖНО! Временное ограничение движения автотранспортных средств в Димитровграде
- Тарифы на электроэнергию для майнеров предложено повысить
- Метамодернизм в позднем творчестве В.Г. Сорокина
- ЛитРПГ - последняя отрыжка постмодерна
- "Ричард III и семиотика"
- 3D-визуализация обложки Ridero создаем обложку книги при работе над самиздатом.
- Архитектура метамодерна - говоря о современном искусстве, невозможно не поговорить об архитектуре. В данной статье будет отмечено несколько интересных принципов, характерных для построек "новой волны", столь притягательных и скандальных.
- Литература
- Метамодерн
- Рокер-Прометей против изначального зла в «Песне про советскую милицию» Вени Дркина, Автор: Нина Ищенко, к.ф.н, член Союза Писателей ЛНР - перепубликация из журнала "Топос".
- Как избавиться от комаров? Лучшие типы ловушек.
- Что делать если роблокс вылетает на windows
- Что делать, если ребенок смотрит порно?
- Почему собака прыгает на людей при встрече?
- Какое масло лить в Задний дифференциал (мост) Visco diff 38434AA050
- О чем может рассказать хвост вашей кошки?
- Верветки
- Отчетность бюджетных учреждений при закупках по Закону № 223-ФЗ
- Срок исковой давности как правильно рассчитать
- Дмитрий Патрушев минсельхоз будет ли преемником Путина
- Кто такой Владислав Поздняков? Что такое "Мужское Государство" и почему его признали экстремистским в России?
- Как правильно выбрать машинное масло в Димитровграде?
- Как стать богатым и знаменитым в России?
- Почему фильм "Пипец" (Kick-Ass) стал популярен по всему миру?
- Как стать мудрецом?
- Как правильно установить FreeBSD
- Как стать таким как Путин?
- Где лучше жить - в Димитровграде или в Ульяновске?
- Почему город Димитровград так называется?
- Что такое метамодерн?
- ВАЖНО! Временное ограничение движения автотранспортных средств в Димитровграде
- Тарифы на электроэнергию для майнеров предложено повысить
1 Бред на мониторе
В Пытаюсь установить Linux Mint 12 на Dell Dimension 5000; я вставил в него видеокарту AMD HD5450. При загрузке с Live CD/DVD из LXF154 на мониторе видна только какая-то бессмыслица. KDE Mint версии 10 у меня устанавливается и работает, но в 11-й и 12-й версиях монитор шалит. Я знаю, что смогу «обновиться» с версии 10 до 12, указав apt на репозитории 12-й версии, но хотелось бы знать, почему в 11-й и 12-й версиях возникают такие результаты.
Dhester, с форумов
O Видимо, в процессе загрузки Mint неверно определяет видеокарту или монитор и выставляет некорректное разрешение экрана. В обход этого можно указать разрешение экрана в меню загрузки. При выборе Mint из меню загрузки LXF Вы видите загрузочный экран Mint с 10-секудным интервалом обратного отсчета до автоматической загрузки. Нажмите за это время любую клавишу, и Вы увидите меню загрузки. Выделите его верхний пункт и нажмите Tab, чтобы изменить его. Удалите “quiet splash” и замените ее на “vga=791” (без кавычек). Настройка VGA 791 задает разрешение 1024 × 768 и цвет 16 бит. Для других разрешений коды будут другими.
После удаления параметров “quiet” и “splash” при загрузке вместо картинки будет выводиться текстовая загрузочная консоль. Это позволяет избежать ошибок от взаимодействия загрузчика картинки с разрешением экрана, а также означает, что в случае неприятностей Вы увидите сообщения об ошибках. Установив систему, Вы сможете подобрать корректный драйвер для своей видеокарты.
2 Копирование DVD
В Мой новый медиа-проигрыватель подключен к телевизору, который может проигрывать файлы, находящиеся в общем доступе по сети. Я настроил на своем компьютере Samba и могу воспроизвести почти все мои файлы. Не проигрываются ISO-файлы, снятые с DVD. Я знаю, что их можно преобразовать в видеофайлы, но копировании всего DVD в ISO-файл означает, что сохраняются меню, дополнительные возможности и субтитры. В VLC все это воспроизводится, а в новом медиа-проигрывателе — нет.
Лоуренс Девон [Lawrence Devon]
O Дело почти наверняка в CSS-защите копирования/воспроизведения DVD. Проверьте, является ли легальным создание копий DVD для личного использования, и если нет, откажитесь от этой затеи. Ключи, используемые защитой копирования CSS, хранятся на особой области диска и при создании образа диска не копируются – то есть мы получаем зашифрованный ISO-образ, но без ключей для его расшифровки. Проигрыватели типа VLC способны воспроизводить такие файлы, потому что у них есть библиотека libdvdcss для расшифровки содержимого, а у Вашего аппаратного медиа-проигрывателя ее нет.
Решение – создать незашифрованную копию DVD, пригодную для воспроизведения медиа-проигрывателем. Создайте копию расшифрованного содержимого DVD и затем снова преобразуйте ее в ISO-образ. Первое можно сделать с помощью dvdbackup (http://dvdbackup.sourceforge.net) или vobcopy (http://lpn.rnbhq.org). Годятся обе, поэтому берите ту, что есть в репозиториях Вашего дистрибутива. Запустите их следующим образом:
dvdbackup --mirror --input=/dev/sr0
vobcopy –mirror
dvdbackup нужно лишь указать путь до устройства (если он не /dev/dvd), а для vobcopy нужно смонтировать DVD, и она определит его автоматически (если смонтировано несколько DVD, воспользуйтесь параметром --input-dir). Каждая из этих команд создает в текущем каталоге подкаталог с именем DVD. Туда попадут все каталоги DVD, и их можно записать в ISO-образ командой mkisofs:
mkisofs -dvd-video -V ИМЯ -o ИМЯ.iso ИМЯ
– разумеется, указав должное имя DVD. Если надо скопировать несколько дисков, все это можно объединить в короткий скрипт.
#!/bin/sh ИМЯ=$(dvdbackup --info 2>/dev/null | awk ‘/^DVD-Video information/ {print $NF}’) dvdbackup -M mkisofs -dvd-video -V $ИМЯ -o $ИМЯ.iso $ИМЯ || exit 1 rm -fr $ИМЯ
В приведенном скрипте с помощью параметра dvdbackup --info извлекается имя DVD, а затем его содержимое, и создается незашифрованный ISO-файл. В конце удаляется временный каталог с извлеченным DVD.
3 Banshee молчит
В Я хочу, чтобы при входе в систему автоматически воспроизводилась музыка, с помощью Banshee. Для этого я завел в своем каталоге ~/Documents подкаталог со скриптами, запускающими программы при входе в систему (я предпочитаю такой вариант автозапуска: тогда можно переходить от одного дистрибутива к другому, сохраняя настройки). Для запуска музыки предусмотрено два скрипта:
#!/bin/bash sleep 22 banshee –hide и #!/bin/bash sleep 30 banshee --play
Иногда это работает, иногда нет; несколько недель музыка запускалась без проблем, потом я обновил систему, и на несколько недель все сломалось, до другого обновления, а после него заработало снова. Раньше я пользовался одним скриптом, но мне показалось, что надежнее будет с двумя. Неизменным остается одно: хотя сперва это не работает, но всегда работает, если выйти из системы и зайти в нее снова. Я пользуюсь Mint 12 с полностью обновленной системой. Марк Скиннер [Mark Skinner]
O Похоже, что причина проблемы – в командах sleep. Если на загрузку и инициализацию Banshee уходит больше восьми секунд, он может быть не готов к команде play, отправляемой вторым скриптом. Это объяснило бы, почему скрипт работает после выхода и входа в систему: тогда необходимые Banshee библиотеки (он использует Mono) уже загружены и находятся в кэше с первого входа в систему, то есть гораздо раньше. Это легко проверить – значительно увеличьте параметр команды sleep во втором скрипте, скажем, до 60 секунд, и посмотрите, заработает ли все снова.
Если дело в этом, Вам нужен более надежный способ определить, что Banshee загружен и готов к работе, чем ожидание в течение какого-то времени. Можете воспользоваться dbus – с ее помощью Banshee взаимодействует с экземпляром программы, уже запущенным командой banshee --play во втором скрипте. Вам понадобится установить qdbus – утилиту командной строки для dbus, и запустить эту команду с запущенным Banshee и без него:
qdbus | grep -i banshee
Вы увидите вывод этой команды только при работающем Banshee; но, что более важно, при незапущенном Banshee код возврата grep будет ненулевым, что можно проверить в скрипте и приостановить скрипт, если интерфейс программы еще не загружен. Затем можно запустить команду play; но так как Вы уже пользуетесь qdbus, команды можно отправлять и напрямую, и мы получаем один скрипт, который выглядит приблизительно так:
#!/bin/bash sleep 22 banshee >/dev/null & for i in {1..10}; do qdbus | grep -i banshee && break sleep 2 done qdbus org.bansheeproject.Banshee /org/bansheeproject/Banshee/ClientWindow Hide qdbus org.bansheeproject.Banshee /org/bansheeproject/Banshee/PlayerEngine Play
Первая из этих команд скрывает окно, вторая запускает воспроизведение. Чтобы увидеть доступные объекты dbus, можно запустить qdbus с путем только до сервиса –
qdbus org.bansheeproject.Banshee
а чтобы увидеть методы, которые доступны каждому объекту, укажите имя соответствующего сервиса и метод:
qdbus org.bansheeproject.Banshee /org/bansheeproject/Banshee/PlayerEngine
Установив пакет qt4-dev-tools, Вы сможете просмотреть список всех доступных объектов с помощью утилиты qdbusviewer и попробовать запустить какие-то из них.
4 Что в имени?
В Интересно, насколько сложную задачу можно решить в терминале. У меня есть каталог, где находится более 30 JPG-файлов. Все эти файлы на самом деле представляют собой zip-архивы. В каждом содержится JPG-файл с QR-кодом. Мне нужно, чтобы информация из QR-кода сохранялась в текстовом файле с именем исходного файла zip (jpg). Насколько я понимаю, нужно выполнить следующие действия:
1. Изменить все расширения .jpg на .zip
2. Распаковать все файлы (по одному в каждом zip-файле), дав им имена zip-файлов.
3. Прочесть новые файлы jpg (QR-коды) и сохранить информацию в filename.txt.
Thusgaard, с форумов
O Кто это додумался до выдачи zip-архивам расширения .jpg? Наверное, чтобы обойти запрет web-сервера или прокси-сервера на загрузку архивов? Так или иначе, первый шаг не нужен. В Linux содержимое файлов определяется не по расширению. Команда unzip somefile.jpg будет работать, если файл является zip-архивом. Третий шаг можно выполнить с помощью утилиты zbarimg – она извлекает данные из изображений со штрих-кодами или QR-кодами. Unzip может писать содержимое файла(ов) в упакованном каталоге с изображением в стандартный вывод. Zbarimg не принимает данные со стандартного ввода, но мы можем воспользоваться FIFO – особым типом файла, который ведет себя как канал: одна программа пишет в него, другая из него читает. Например, для извлечения данных из всех файлов .jpg в текущем каталоге можно воспользоваться следующими командами:
mkfifo qrdata for FILE in *.jpg; do unzip -p $FILE >qrdata & zbarimg --quiet --raw qrdata >$(FILE/.jpg/.txt} done rm qrdata
& необходим для разрыва связи с unzip, иначе та не завершится, пока данные, отправленные ей в FIFO, не прочтет zbarimg. Эти команды делают все необходимое, без создания временных файлов и переименования существующих. Если Вы намерены делать это регулярно, команды лучше записать в скрипт. Также, возможно, стоит добавить пару проверок – например, убедиться, что файлы и в самом деле являются zip-архивами. Это делается добавлением команд
if [[ $(file --brief --mime-type $i) != “application/zip” ]]; then continue fi
перед строкой unzip, которые сразу перейдут к следующему файлу, если рассматриваемый файл не является zip-архивом. Ответить на Ваш первый вопрос гораздо сложнее, чем решить эту довольно простую задачу, если Вы представляете себе необходимые шаги.
5 Мне бы 3G
В Я пользовался вариантом Ubuntu для нетбуков и был вполне им доволен. Теперь я хочу обновиться и попробовать другой дистрибутив, но, похоже, ни во всех Live-дистрибутивах Gnome, ни в Ubuntu нет надежного подключения к мобильному широкополосному доступу. Я круглый год живу на лодке, и широкополосный доступ — мое спасение. Я не жду многого: лишь бы то, что было надежно, просто продолжало работать.
Я знаю, что Gnome 3 принес огромные изменения, но многие не очень продвинутые пользователи просто хотят, чтобы все по-прежнему работало. Изменения только ради изменений — не всегда лучшая политика. Всякие прибамбасы усложняют жизнь среднему 60-летнему пользователю на грани компетентности, который уже в силу возраста мало что понимает. Не могли бы вы передать это разработчикам дистрибутивов, потому что на большую «W» я переходить не хочу, а говорить хорошо, если люди тебя послушают.
Найджел Саммерс [Nigel Summers]
O Смена Gnome 2 на Gnome 3 или на Unity не должна повлиять на работу 3G-модема, которым обычно управляет сетевой менеджер. Типичная причина – в том, что модем не определяется. 3G-модемы сейчас очень распространены, и, как правило, они «просто работают», а если нет – это либо новая модель, не распознаваемая системой, либо есть простой способ заставить его работать. Проверить можно несколько вещей. Во-первых, убедитесь, что при подключении модема появляется файл /dev/ttyUSB0. Большинство 3G-модемов пытаются быть слишком умными и при подключении определяются как привод CD-ROM с диском, содержащим установщик драйверов Windows. После установки драйверов модем определяется и переключается из режима CD-ROM в свой обычный режим. Если при подключении модема /dev/ttyUSB0 не появляется, а файл устройства CD-ROM появляется, это проблема. Вам нужно иметь возможность переключить модем в его «родной» режим.
Обычно это выполняется программой usb_ modeswitch – она уже должна быть установлена. Если нет, установите ее; запускать ее не нужно, она вызывается при определении 3G-модема. При работе с некоторыми модемами эта программа может вызывать проблемы – для проверки переименуйте /usr/sbin/usb_modeswitch, добавьте в конце еще одну букву, чтобы программа не запускалась, и включите модем. Более правильный подход – заглянуть в файл журнала, обычно /var/log/messages, запустив в терминале команду
tail -f /var/log/messages
и наблюдая за выводом команды во время включения модема. Также можно поискать в сообщениях ядра, выполнив команду
dmesg --clear
включив устройство, скомандовав
dmesg >dmesg.log
и заглянув в содержимое dmesg.log. Любые сообщения об ошибках можно вбить в поисковую систему и найти решение проблемы.
Если при включении модема файл /dev/ttyUSB0 появился, у сетевого менеджера не должно возникнуть никаких проблем. Если проблема все равно остается, обратитесь за помощью на форумы www.linuxformat.com, указав результаты запуска приведенных выше команд. Без этой информации точнее сказать сложно.
6 Потоковый медиа-сервер
В Я собираюсь создать сервер мультимедиа для церкви, где могу хранить несколько видеороликов, предоставив преподавателям воскресной школы возможность их транслировать по телевизору Smart TV, подключенному к этой сети. Я хотел бы исследовать этот вопрос и буду благодарен за ваши советы.
Tarovac, с форумов
O Если Вы пользуетесь только телевизором, а не промежуточным компьютером или телевизором Smart TV, лучше всего взять сервер UpnP от DLNA: именно этот протокол используется в Smart TV. DLNA (Digital Living Network Alliance) – организация изготовителей цифровых систем, основанная Sony. UPnP (Universal Plug and Play) почти является таковым, то есть универсальным и готовым к употреблению – что позволяет сетевым устройствам мультимедиа взаимодействовать друг с другом.
MiniDLNA (http://minidlna.sourceforge.net/) – легковесный сервер, который избавит Вас от возни с Samba или Apache, чтобы сделать свой контент доступным через сеть. Он разработан одним из сотрудников Netgear для NAS-серверов компании, но является продуктом с открытым исходным кодом. Его можно установить из репозиториев дистрибутива или из исходного кода, который можно скачать с вышеуказанного сайта. После установки нужно лишь изменить несколько настроек в простом конфигурационном файле /etc/minidlna.conf. Основные параметры, которые нужно изменить, приведены ниже. Параметр media_dir задает каталог с файлами, предназначенными для доступа через сеть. Чтобы сделать доступными несколько каталогов, укажите несколько строк media_dir. Также можно задать тип файлов в каждом каталоге – для этого перед путем к каталогу укажите одну из букв A, V или P (для аудиофайлов, видеофайлов и фотографий/изображений соответственно), за которой будет следовать запятая, например:
media_dir=/mnt/allfiles
media_dir=V,/mnt/videos
Задайте подходящее имя сервера в параметре friendly_name и раскомментируйте строку log_dir, по крайней мере – пока, чтобы убедиться, что все работает. В пакете Вашего дистрибутива должен быть скрипт запуска сервера, но в первый раз для надежности можно запустить его из консоли
minidlna -f /etc/minidlna.conf -d –R
Параметр -d запускает программу в отладочном режиме – тогда она не перейдет в состояние демона, и Вы будете видеть, что происходит. Параметр -R заставляет MiniDLNA просканировать каталоги media_dirs, чтобы программа создала начальную базу данных файлов. Затем с помощью inotify она узнает, какие файлы были добавлены в каталоги media_dirs или удалены из них, и обновляет базу данных автоматически.
7 Тесен экран
В Я обновил Ubuntu до 11.10, и теперь мне доступно единственное разрешение экрана — 640 × 480 (4:3). У меня довольно старый телевизор/монитор — широкоэкранный Daewoo DSL 17D3. Я вижу только половину большинства страниц и не могу добраться до кнопок внизу, потому что мне не изменить размер окон так, чтобы они стали достаточно маленькими.
Алекс Харви [Alex Harvey]
O Похоже, X-серверу не удается определить возможности монитора, и он возвращается к безопасной настройке по умолчанию 640 × 480. Так как многие программы ожидают большего размера экрана, у Вас появляется проблема с открытием окон, кнопки которых находятся за нижней границей экрана. Обычно Вы перетаскиваете окна за заголовок и не можете перетащить их выше, чтобы кнопки внизу стало видно, но если нажать Alt и щелкнуть в любом месте окна, Вы сможете перемещать его с помощью стрелок. Это решит проблему незамедлительного доступа к кнопкам. Максимальное разрешение Вашего монитора – 1280 × 768. Если X-сервер не может настроить монитор автоматически, Вам придется делать это вручную. Нажмите Ctrl + Alt + F1 для перехода в виртуальную консоль и войдите в систему. Остановите X-сервер командой
sudo stop lightdm
Затем сгенерируйте файл настройки X-сервера командой
sudo X -configure
Конфигурация записывается в файл /root/xorg.conf.new; отредактируйте его в Nano.
sudo nano /root/xorg.conf.new
В разделе Screen [Экран] должны быть один или несколько подразделов Display [Монитор], содержащих строки Modes [Режимы]. Добавьте новый режим 1280 × 768 в начало списка – первый в списке режим используется по умолчанию, и если сейчас в нем только 640 × 480, измените его следующим образом
Modes “1280x768” “640x480”
Если в разделе монитора нет строк «Modes» (Режимы), добавьте одну сами. Нажмите Ctrl + x для сохранения файла и проверьте его, запустив
sudo X -config /root/xorg.conf.new
– она должна открыть рабочий стол пользователя root в обычном размере. Получив рабочую конфигурацию, нажмите Ctrl + Alt + Backspace для выхода из X-сервера, скопируйте файл в каталог по умолчанию и перезапустите X-сервер командой
cp /root/xorg.conf.new /etc/X11/xorg.conf
start lightdm
8 Случайная скорость
В Я создаю образы диска для восстановления в случае аварии по вашему ответу из LXF152 про создание копии раздела или диска с помощью dd. Чтобы оценить размер файла, создаваемого gzip, я заполняю неиспользуемые сектора раздела нулями, которые должны сжиматься лучше. Это я тоже делаю командой dd, копируя данные из /dev/zero в файл на диске следующей командой:
dd if=/dev/zero of=zeroemptyspace bs=10M;
rm zeroemptyspace
Я заметил, что когда диск почти заполняется нулями, команда начинает замедляться, и быстрее сделать несколько меньших по размеру файлов:
for i in {100..999}; do dd if=/dev/zeroof=zeroemptyspace${i} bs=10M
count=1k; done
rm zeroemptyspace???
Я также пытался стереть данные со старого ноутбука командой dd, прежде чем отправлять его на утилизацию, с помощью следующей команды, которая заполняет жесткий диск случайными данными:
dd if=/dev/random of=/dev/sda bs=10M
Однако за несколько часов он записал всего около 500 байт! Если я пишу данные из /dev/zero, диск размером 26 ГБ заполняется минут за 15. Почему так происходит? Я пользуюсь Xubuntu 11.04 на ноутбуке HP с процессором Celeron и 256 МБ оперативной памяти.
Уильям Фрейзер [William Fraser]
O Причина в том, что при создании файла файловая система старается использовать последовательные блоки дискового пространства для меньшей фрагментации и большей скорости. При подходе к нескольким последним процентам файловой системы остаются только отдельные блоки, разбросанные по диску, и чтобы избежать фрагментации, приходится как следует поработать. Наличие всего 256 МБ оперативной памяти ухудшает ситуацию. Закрытие файла и открытие нового снижает этот эффект. Заполнению оставшейся части диска нулями есть альтернатива – воспользуйтесь Partition Image для резервного копирования раздела (разделов). Она выполняет непосредственное резервное копирование блоков на диске, но сначала проверяет, используются ли они, и копирует только их. Она работает быстрее и надежнее, чем dd, и имеется на многих Live CD.
/dev/random — медленная команда, и она подходит только для генерации небольших объемов псевдослучайных данных. Причина в том, что для генерации случайных чисел она использует «окружающий шум» драйверов устройств, например, когда Вы двигаете мышью или лупите по клавиатуре. При чтении большого объема данных Вы используете этот «резерв энтропии» быстрее, чем перезаполняете, поэтому чтение из /dev/random блокируется до тех пор, пока не появятся новые данные. Это дает высококачественные случайные данные, но без долгих простоев – только в небольших количествах.
/dev/urandom предоставляет данные с низкой степенью «случайности», зато без замедления. Это делает ее непригодной для таких задач, как генерация криптографических ключей, которым нужна максимальная случайность, но идеально подходящей для перезаписывания диска перед утилизацией. Если Вы действительно озабочены этим вопросом, можете выполнить несколько проходов /dev/urandom быстрее, чем /dev/random заполнит первый цилиндр.
КУДА ПОСЫЛАТЬ ВОПРОСЫ
Пишите нам по адресу answers@linuxformat.ru или спрашивайте на форуме: www.linuxformat.ru
Часто задаваемые вопросы FISH
- Это имеет какое-то отношение к нудным постам на форумах Linux Format?
Нет, это серьезная, полезная тема.
- Тогда что это?
Это вольное сокращение для “Files transferred over shell protocol” [файлы, передаваемые по протоколу Shell].
- Не слишком захватывающе. А что она делает?
По-простому, это позволяет работать с файлами на удаленном компьютере только с помощью SSH (или RSH). На удаленном компьютере не нужно никакое специальное ПО, просто SSH и стандартные команды оболочки. На локальном компьютере для доступа к этим файлам нужна программа с поддержкой FISH.
- Где мне найти такую программу?
Скорее всего, она у вас уже есть. Midnight Commander поддерживает FISH. Наберите в нем
cd /#sh:user@hostname/some/path
и будет показано содержимое каталога /some/path на удаленном компьютере. Если опустить часть user@, будет использовано текущее имя пользователя.
- Это означает, что с FISH каждый может прочесть файлы на моем компьютере?
Нет, потому что используется SSH. Для входа в систему нужно ввести пароль или настроить аутентификацию по ключам. В любом случае, вам придется подтверждать свою подлинность.
- Все это хорошо, но Midnight Commander немного старомоден, не так ли? Как насчет подходящей графической программы?
Вы пользуетесь KDE? Если да, откройте Konqueror (или мини-консоль по Alt + F2) и перейдите по адресу
fish://user@hostname/some/path
С помощью волшебства kio_slaves в Konqueror будет загружен удаленный каталог. Разбив окно на два, можно легко сравнивать и работать с локальной и удаленной копией каталога.
- Поэтому я могу использовать ее для работы с файлами, так?
Не совсем. Любая программа KDE для работы с файлами может делать это через FISH. Хотите изменить файл на web-сервере на другом конце земного шара? Просто выполните команду
kate fish://me@my.server/ iffypagename.html
чтобы открыть файл в kate, и нажмите «Save» (Сохранить) для отправки файла обратно на сервер.
- Это означает, что с помощью FISH можно управлять файлами на удаленной учетной записи для резервного копирования?
К сожалению, нет. FISH работает только в том случае, если вы можете войти в систему и выполнить базовый набор команд оболочки. В таких сервисах полный доступ по SSH запрещен, поэтому FISH работать не будет, однако есть альтернатива. SSHFS – файловая система FUSE, позволяющая монтировать такую файловую систему с учетной записью, на которой разрешено только копирование файлов (командой scp или rsync); но придется монтировать удаленную файловую систему, даже если вам нужен всего один файл.
Терминалы и суперпользователи
Мы часто предлагаем решение в виде команд, вводимых в терминале. Хотя обычно то же самое можно выполнить и через графические инструменты, входящие в состав дистрибутива, отличия между этими инструментами означают, что такие решения будут узко специфичными. Команды терминала гораздо более гибкие и работают во всех дистрибутивах.
Команды настройки системы часто должны запускаться от имени суперпользователя (superuser или root). В зависимости от вашего дистрибутива, есть два способа сделать это. Многие дистрибутивы – в частности, Ubuntu и его производные – требуют предварять такие команды префиксом sudo. После этого пользователю предлагается ввести пароль, и система выдает ему полномочия root, действующие на время выполнения команды. Другие дистрибутивы используют префикс su, применение которого требует ввода пароля root и дает полные права root до тех пор, пока пользователь не введет команду logout. Если ваш дистрибутив использует su, выполните эту команду один раз, и потом сможете выполнять любую команду, не предваряя ее префиксом sudo.
Краткая справка про…D-Bus
D-Bus, или Desktop Bus (настольная шина) – низкоуровневая система межпроцессного взаимодействия, используемая в Linux и других операционных системах POSIX. С ее помощью программы отправляют сообщения друг другу. До нее использовались по меньшей мере две несовместимые системы; DCOP в KDE и Bonobo в Gnome. Архитектура DCOP сильно повлияла на D-Bus, но D-Bus не зависит от рабочего стола – вообще ни от какого, несмотря на свое название. В настольных компьютерах обычно используются две шины – системная шина, используемая программами root, такими как демоны, ПО определения устройств и подобными им, и сессионная шина, используемая рабочим столом.
Пример использования D-Bus показан в вопросе «Banshee молчит», но ее возможности гораздо шире, и многие программы, от программ определения устройств до системных оповещений, незаметно для пользователя пользуются ею. Команды для управления шиной из оболочки с длинными именами сервисов и путями до объектов выглядят громоздкими, но это необходимо для того, чтобы все программы могли получить доступ к D-Bus без конфликтов. Простейший способ познакомиться с шиной – просматривая дерево шины, выполнять командой qdbusviewer различные команды и наблюдать за результатом. Если вы хотите получить доступ к интерфейсу программы на D-Bus с помощью скрипта, самый простой вариант – qdbus.
Помогите нам помочь вам
Ежемесячно мы получаем несколько писем, на которые не в состоянии ответить, так как проблема описана в них недостаточно полно. Чтобы дать вам наилучший ответ, нам нужно знать как можно больше.
Если у вас появляется сообщение об ошибке, приведите его точный текст и опишите конкретные условия, при которых оно появляется. При возникновении проблемы с устройствами перечислите нам все установленные устройства. Если Linux уже запущен, можете для этого воспользоваться превосходной программой Hardinfo (http://hardinfo.berlios.de/) – она сохранит подробную информацию об устройствах и о состоянии системы в HTML-файл, который вы сможете приложить к своему письму. Альтернативный и не менее удобный вариант – lshw (http://ezix.org/project/wiki/HardwareLiSter). Одна из этих программ должна быть включена в ваш дистрибутив (а возможно, и обе).
Если вы не хотите или не можете их установить, выполните следующие команды в терминале от имени root и приложите файл system.txt к письму. Это здорово поможет диагностике.
Большой вопрос Как удаленно помогать родителям?
B Недавно я перешел с XP и Windows 7 на Ubuntu 11.10 (о, почему я не сделал этого раньше?). Сейчас я пользуюсь ею даже на рабочем ноутбуке, и это фантастика. Но мне приходится удаленно подключаться к компьютерам своих родителей, чтобы помочь им с техническими трудностями. Нет ли легкой в настройке замены MSN Messenger Remote Assistant, чтобы я установил ее родителям? У них на новом ноутбуке и XP, и Ubuntu — было бы здорово иметь одно приложение для удаленного подключения.
Нил Фрэнсис [Neale Francis]
ОВам нужна система VNC (Virtual Network Computing – виртуальные сетевые вычисления), открытый протокол для доступа к удаленному рабочему столу. Он мультиплатформенный, и из Linux можно удаленно управлять компьютерами с Windows. Для управления через Интернет рекомендуется реализация TightVNC (http://www.tightvnc.com). Установите ее с сайта для версий Windows. Не активируйте соответствующий системный сервис – безопаснее, если родители будут запускать его только когда захотят, чтобы Вы подключились к компьютеру. Запустите сервер TightVNC в режиме приложения (Application mode) на компьютере с Windows и задайте пару паролей для доступа.
В Ubuntu уже есть программы для доступа по VNC. Для просмотра сойдет Vinagre, запускаемая с рабочего стола Unity. Выберите в меню Remote Desktop Viewer [Просмотр удаленного рабочего стола] из раздела Internet [Интернет] списка программ Unity, задайте адрес компьютера Windows и пароль, выберите тип соединения VNC, и на рабочем столе Linux Вы увидите Windows.
На компьютере с Ubuntu, к которому Вы хотите подключиться, запустите Remote Desktop Sharing [Доступ через удаленный рабочий стол] и задайте свои настройки. Для пущей безопасности можно предусмотреть запроc подтверждения перед подключением любого пользователя. В любой системе безопаснее всего запускать VNC-сервер только тогда, когда Вы хотите принять соединение. Все это очень просто сделать, когда оба компьютера находятся в одной и той же сети и можно пользоваться локальными IP-адресами. При подключении через Интернет настройте маршрутизатор родителей на перенаправление портов 5800 и 5900 на IP-адрес их компьютера. Перенаправить можно только на один адрес; если Вы захотите подключиться к другому компьютеру, эту настройку придется изменить. Все это просто, когда все находится в локальной системе, иначе мы получаем классическую ситуацию с курицей и яйцом.
Одно из решений этой проблемы – завести учетную запись на http://www.logmein.com. Этот бесплатный сервис не требует перенаправления портов, хотя иногда тормозит. Пользователи Linux должны создать учетную запись и подключиться к ней с помощью Hamachi (http://hamachi.cc) или Ghamachi. На их компьютере нужно настроить сервер динамических IP-адресов, типа No-IP (http://www.no-ip.com), чтобы их адрес в Интернете был постоянным и не зависел от динамического IP-адреса, выданного провайдером. Другой вариант – настроить VPN (Virtual Private Network – виртуальная частная сеть), поместив свой компьютер в их сеть. Затем Вы сможете подключиться к ним напрямую без настройки перенаправления портов.