Поможет в этом следующая консольная команда:
ps auxw | grep postgres | grep — -D
Поможет в этом следующая консольная команда:
ps auxw | grep postgres | grep — -D
Для начала, необходимо узнать PID засшей службы или процесса.
C:Windowssystem32>sc queryex nscp
SERVICE_NAME: nscp
TYPE : 10 WIN32_OWN_PROCESS
STATE : 4 RUNNING
(STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN)
WIN32_EXIT_CODE : 0 (0x0)
SERVICE_EXIT_CODE : 0 (0x0)
CHECKPOINT : 0x0
WAIT_HINT : 0x0
PID : 544
А теперь команда для завершения процесса:
C:>taskkill /PID 544 /F
eject /dev/cdrom
Если, при этом выдаётся следующая ошибка:
eject: unable to eject, last error: Inappropriate ioctl for device
То нужно попробовать следующую последовательность команд:
file /dev/sr0
Конфигурационных файлов в /etc он не имеет, в init.d его тоже нет. Чтобы его настроить делаем следующее:
1. Нужно дописать опцию Enable=true в секции “xdmcp” конфига /etc/gdm3/daemon.conf для Gnome 3.
2. Заходим в консоль под нашим десктопным пользователем и вызываем окно настроек Vino:
vino-preferences
Откроется окно вроде такого:
Где указываем отмечаем галочки и устанавливаем пароль.
Также в опции vino можно зайти через апплет Desktop Sharing или Remote Desktop (смотря какой дистрибутив).
Если отметить опцию Configure network automatically to accept connections, то vino будет открывать порт на роутере (если там разрешен UPnP) 5900 наружу, в Интернет, что обычно не желательно.
3. Запускаем собственно демона:
export DISPLAY=:0.0
xhost +/usr/lib/vino/vino-server &
netstat -nl | grep 5900
Последняя команда служит для проверки того, что vino запустился и слушает порт 5900.
4. Теперь с другой машины, которая имеет доступ к нашей пробуем подключиться (для Windows это можно сделать при помощи бесплатных программ TightVNC или UltraVNC).
Настройки по-умолчанию должны сработать.
5. Теперь проблема в том, что vino не стартует со стартом системы и не имеет скрипта запуска. И стартовать он должен с тем пользователем, на который планируется удалённый вход. Для этого нужно добавить в файл /home/username/.bashrc в конец следующие строчки:
export DISPLAY=:0.0
/usr/lib/vino/vino-server &
UPDATE:
Обнаружил, что при таком тексте .bashrc каждый раз, когда открываешь терминальную сессию, то vino ругается в консоль, что он уже запущен. Посему необходимо изменить текст на следующий, включающий в себя проверку:
export DISPLAY=:0.0
ps cax | grep vino-server > /dev/null
if [ $? -ne 0 ]; then
/usr/lib/vino/vino-server &
fi
Ссылки:
Для телефонов под управлением Windows Phone 7.8 (а так же 7.5 и 8) существует несколько способов анлока или джеилбрейка, но почти все эти способы работают не на всех моделях и даже если модель подходит, то в ней может оказаться не подходящий загрузчик (а подходящий как правило есть только в самых ранних партиях).
Самый безопасный, но и самый мало функциональный анлок – это т. н. студенческий.
Суть его состоит в том, что мы совершенно легально регистрируемся как начинающий разработчик для платформы Windows Phone, что дает нам возможность устанавливать приложения не только из Магазина, но и из пакетов XAP.
Бесплатный студенческий аккаунт позволяет установить одновременно только 2 пакета XAP… Можно увеличить лимит до 10, если купить платный аккаунт.
Процедура такова.
1. Вначале нам нужно заиметь почтовый ящик в домене .edu дабы подтвердить наш студенческий статус. Если у вас уже есть такой почтовый ящик, то используйте его. А если нет, то вы можете получить свой выполнив бесплатную регистрацию на сайте https://secure.californiacolleges.edu/ – нужно просто заполнить вдумчиво форму – и всё, почтовый ящик у нас есть. Входящую почту нужно искать (после лог-ина, естественно) по этому адресу.
2. Теперь необходимо зарегистрировать аккаунт разработчика. Для этого идем на сайт Microsoft Dreamspark и нажимаем внизу Create account. Идти желательно браузером Internet Explorer. Заполняем форму – там всё очевидно. Также нужно уже иметь или зарегистрировать аккаунт Windows Live ID. Именно здесь на этапе регистрации нужно будет ввести свой адрес почты .edu для получения письма с ссылкой для подтверждения аккаунта. Письма на этом сайте отображаются несколько кривовато, потому с ссылкой придется малость повозиться – я уже не помню точно, как я ее оттуда вытащил, но это вполне реально.
Находим строчку вида:
-Navigate to: https://www.msacademicverify.com/AVE/NewActivate?=
ACID=3DL%2byQVWHYymALYTI%2flZA%3d%3d&lc=3D1033=0D
И экспериментируем. “=0D” в конце точно не нужно копировать. Также нужно убрать пробелы.
3. После регистрации, подтверждения и авторизации идем сюда Windows Phone 7 App Development и скачиваем Windows Phone SDK. Точнее, 3 его компоненты и устанавливаем в том порядке, в котором написано в даунлоадере (он представляет из себя 2 плагина для IE, описание установки которых и ссылки есть на страничке скачивания). Скачать можно ТОЛЬКО в браузере Internet Explorer. Никакие Chrome или Firefox тут не помогут… Майкрософт, что ж вы хотели.
4. Подключаем Nokia Lumia, которой хотим сделать анлок к ПК. На Пк должен быть установлен Zune. Запускаем программу Windows Phone Developer Registration, которая идёт вместе с Windows Phone SDK. Предварительно разблокировав экран телефона (иначе получите ошибку как на моей картинке)
Вводим данные своего аккаунта Windows Live ID и нажимаем кнопку внизу, ждем положительного результата.
5. Теперь можно ставить программы из пакета XAP с помощью опять же входящей в установленную Windows Phone SDK утилиты Application Deployment:
Здесь указываем XAP, нажимаем Deploy и дожидаемся результата. При запуске этой утилиты экран телефона так же должен быть разблокирован!
При достижении лимита пакетов (по-умолч. 2) будете получать ошибку с кодом 0×81030119.
“Error – 0x89731811” – означает, что не запущен Zune или его служба. Соответственно, запускаем Zune и смотрим, чтобы он увидел телефон.
Ссылки:
Недавно приключилась такая беда – у мышки фирмы A4Tech X5 стало глючить колёсико – при прокручивании колёсиком картинка дергается вверх-вниз. Мышка мне очень нравится и выбрасывать её было жалко. К тому же решение проблемы нашлось в интернете.
Пишут, что этот бок проявляется в течении полгода-года на многих мышках фирмы A4Tech и лечится следующим образом:
1. Разбираем мышку (обычно путем откручивания пары болтов внизу)
2. Находим механизм колесика и аккуратно вытаскиваем колесико вместе с осью на которой оно сидит (отгибаем слегка вверх и вытаскиваем). Видим нечто похожее как на картинке:
3. Стрелками указаны металлические зажими, который надо подогнуть к механизму. Я сделал это кусачками, можно утконосами, маленькими плоскогубцами или чем-нибудь похожим – но без сильного фанатизма, чтобы не сломать! 🙂
4. Собираем всю конструкцию воедино и наслаждаемся нормальной работой колёсика.
Ссылки:
fsutil file createnew C:testfile.txt 2147483648
то, здесь обычно 2 варианта:
1. Проверим, что проблема действительно в настройках SeLinux:
tail -f /var/log/audit/audit.log |grep -i avc
Должны периодически добавляться в лог строки вроде этой:
В общем, от философии к делу.
Для установки X-сервера в RHEL-подобных ОС Linux (Oracle Linux, RedHat, CentOS, Fedora), которые были установлены без Xorg достаточно выполнить команду:
yum groupinstall “GNOME Desktop Environment” “X Window System” “Desktop”
В большинстве случаев создавать/редактировать конфигурационные файлы не понадобиться. Колдовать с конфигом Xorg придётся в случае нестандартных драйверов, режима нескольких мониторов и т. п., что не есть наш случай просто временной установки X-сервера. Запускаем X-сервер:
startx
Далее логинимся, делаем своё черное дело и после этого можно так же легко удалить X сервер вместе со всеми его пакетами:
yum groupremove “GNOME Desktop Environment” “X Window System” “Desktop”
В данной статье я рассмотрю работу с библиотекой mechanize, т. к. именно ее инструменты помогли мне “победить” задачу автоматизации скачивания материала с одного веб-сайта.
Суть проблемы я буду излагать достаточно пространно, т. к. не могу приводить здесь конкретный пример, но надеюсь – вам будет примерно понятно.
Проблема заключалась в следующих моментах:
Итак, начнемс. Вначале импорт необходимых библиотек. Mechanize не идет в стандартной поставке с Python и его необходимо установить или с помозью PiPy или вручную, как написано на официальном сайте (python setup.py install).
import cookielib, shutil, os
from mechanize import Browser
Далее, создаем объекты: основной Browser и объект для хранения кукисов, который прикрепляем к нашему Browser. Объект Browser представляет собой контейнер по смыслу похожий на вкладку настоящего браузера. Т. е. в пределах его можно оществлять навигацию по web-сайту, авторизацию, хранить кукисы и т. д.
br = Browser()
# Create cookie jar and attach it to Browser
cj = cookielib.LWPCookieJar()
br.set_cookiejar(cj)
Затем, добавляем html хэдэры и открываем URL нужной странички в объекте Browser.
# Add some headers
br.addheaders = [('User-agent', 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071615 Fedora/3.0.1-1.fc9 Firefox/3.0.1')]
# Open url in Browser instance
br.open('http://www.example.com/download.aspx')
Далее выбираем форму, в которую будем вносить данные. nr=0 – индекс формы по счету в коде веб-страницы (0,1,2 …) И вводим данные в поля для авторизации в формате (для элементов типа TextControl):
br[“id_html_элемента”] = “Значение”
id элементов и возможные значения можно посмотреть двумя способами:
import cookielib
from mechanize import ParseResponse, urlopen
response = urlopen("http://www.eoddata.com/download.aspx")
forms = ParseResponse(response, backwards_compat=False)
form = forms[0]
print form
Вы получите список всех элементов формы и их возможных значений в формате:
<Тип(id=список_значений)>
Вроде такого:
<aspnetForm POST http://www.example.com/download.aspx application/x-www-form-urlencoded
<SelectControl(ctl00$DataFormat=[17, 2, 36, 16, 27, 28, 33, 32, 8, 24, 35, *9, 1, 39, 11, 14, 6, 5, 4, 12, 3, 26, 15])>
<SubmitControl(ctl00$Download=Download) (readonly)>
<TextControl(ctl00$txtEmail=)>
<PasswordControl(ctl00$txtPassword=)>
<CheckboxControl(ctl00$Remember=[on])>
<SubmitControl(ctl00$btnLogin=Login) (readonly)>>
Итак, пример кода основного скрипта для авторизации:
# Select form for modification and "enter" login info
br.select_form(nr=0)
br["ctl00$txtEmail"] = "User"
br["ctl00$txtPassword"] = "Secret"
# Submit form
br.submit(nr=3)
Обратите внимание на строку
br.submit(nr=3)
В скобках указан номер кноки типа Submit по порядку её нахождения в html-коде страницы. Это важно, если в форме есть несколько кнопок типа Submit, но выполняющих различные функции (как в нашем случае). Нумерация 0,1,2…
Далее, выбираем необходимые данные в списках значений, например (значения посмотреть описанными выше методами):
br.select_form(nr=0)
# Select Options
br["ctl00$cboSomething"] = ["EXAMPLE",]
br["ctl00$cboDataFormat"] = ["11",]
# Update page
br.submit(nr=1)
После этого парсим код страницы для получения ссылки на файл. В каждом конкретном случае парсинг будет, конечно же, разным – потому не привожу его здесь.
Скачиваем файл (считая, что искомый URL на файл находится в переменной download_url):
local_path = "/home/user"
filename = "very_important.txt"
f = br.retrieve(download_url)[0]
# Copy saved file to normal location
shutil.copy2(f,os.path.join(local_path, filename))
Ссылки: