Уголок СУ-11 на просторах вселенной

суббота, 10 ноября 2018 г.

решение проблемы вывода qDebug в Application output QTCreator

Проблема следующая:
Centos7, QTCreator 4.7.
Не работает вывод QDebug в Application output QTCreator
Решение найдено тут:
https://bugs.archlinux.org/task/40583
+ сам нарыл

1)
Запускать QTCreator нужно с перменной вот так:
QT_LOGGING_TO_CONSOLE=1 qtcreator
после этого у нас заработает qInfo()

2)
Для использования qWarning()
в QTCreator заходим в "Инструменты" -> "Параметры" -> "Сбора и запуск" -> "Основное", включаем "Объединять stderror и stdout"
или
добавить QT_ASSUME_STDERR_HAS_CONSOLE=1 к запуску QTCreator
пример: QT_ASSUME_STDERR_HAS_CONSOLE=1 QT_LOGGING_TO_CONSOLE=1 qtcreator

3)
Далее для того, чтобы оживить qDebug
в наш main.cpp
добавляем (в списке я убрал не нужные дял меня сообщения)
QLoggingCategory::setFilterRules("*.debug=true\n"
                                    "qt.qpa.input*.debug=false\n"
                                    "qt.qpa.gl*.debug=false\n"
                                    "qt.widgets.gestures*.debug=false\n"
                                    "qt.qpa.screen*.debug=false\n"
                                    "qt.xcb.glintegration*.debug=false\n"
                                    "qt.svg*.debug=false\n"
                                    "logfunc.printf.debug=true\n"
                                    "logfunc.value.debug=true");
На сколько я понимаю LoggingCategory также можно задавать через переменные. Но мне это не нужно.


четверг, 20 октября 2016 г.

памяти Мотора

Сгнили флаги. Сменился режим.
И границ пережаты аорты…
Но оставьте нас там, где лежим, —
Нам нельзя отступать даже мёртвым.
Если б даже воскреснуть смогли,
Если б стали бессмертной пехотой,
Мы остались бы там, где слегли
От смертельной военной работы.
И в атаку по ржавым полям
Шли бы в том же, имперском, размахе.
Нету равных могильным холмам.
Русский дух не слабеет во прахе.
Не тревожьте истлевших солдат:
Нам лежать, где война постелила,
Мы привыкли — ни шагу назад,
Нас не может исправить могила.
Мы корнями насквозь проросли,
Но навеки остались пехотой,
Что в глубоких объятьях земли
Мёртвой хваткою держит высоты.


воскресенье, 4 мая 2014 г.

бэкап файлов из windows средствами rsync

@echo off
C:
cd C:\Users\administrator.CORP
SET HOME=%HOMEDRIVE%%HOMEPATH%
rsync -av -e "ssh -i /cygdrive/c/Users/administrator.CORP/.ssh/id_rsa" "/cygdrive/d/DailyBackUP" bkpuser@srv-bkp:/mnt/storage/dt
if not %errorlevel% == 0 goto errTransfer
echo Done
goto delfiles
:errTransfer
echo Transfer error
pause
goto exit
:delfiles
echo Y|del d:\DailyBackUP\*
exit
:exit

воскресенье, 9 февраля 2014 г.

воскресенье, 2 февраля 2014 г.

Удаление рекламы из Skype

Удаление рекламы из Skype
В hosts файле
C:\Windows\System32\Drivers\etc 
указываем перенаправление 
127.0.0.1 rad.msn.com
127.0.0.1 ads2.msads.net

воскресенье, 29 декабря 2013 г.

Добавление SLIC таблицы в виртуальный BIOS Proxmox'а

1. apt-get install build-essential iasl
2. wget http://code.coreboot.org/p/seabios/downloads/get/seabios-1.7.3.tar.gz
3. tar xzf sea*
4. mv seabios-1.7.3 seabios
5. cd ./seabios/src
6. тут берем патч для биоса http://forum.proxmox.com/attachment.php?attachmentid=1647&d=1377897028
7. ищем SLIC таблицу, например эту https://app.box.com/s/54qoducwsm2m0bxt857s от сюда http://forums.mydigitallife.info/threads/5952-OA-2-x-SLIC-amp-OEMCERT-Collection/page128
8. Конвертируем нужный SLIC в Hex xxd -i source-bin-file.bin | grep -v len | sed 's/unsigned char.*/static char SLIC[] = {/' > acpi-slic.hex
9. Еще можно взять SLIC в гипервизора xxd -i /sys/firmware/acpi/tables/SLIC | grep -v len | sed ‘s/unsigned char.*/static char SLIC[] = {/’ > acpi-slic.hex
10. все кладем в src
11. patch -p1 < acpi_slic.patch
12. указываем acpi.c
13. cd ..
14. make
15. mkdir /usr/share/kvm/bkp
16. cp /usr/share/kvm/* /usr/share/kvm/bkp/
17. cp ./out/*.bin /usr/share/kvm/
18. cp ./out/*.aml /usr/share/kvm/
также не забываем установить сертификат Dell и серийный номер. Этих трех компонентов будет достаточно для офлайн активации.

воскресенье, 3 ноября 2013 г.

centos медленно резолвит имена

Заметил странное. centos 6 медленно резолвит DNS имена. Помогло следующее: добавить options single-request-reopen в /etc/resolv.conf

понедельник, 30 сентября 2013 г.

вторник, 8 января 2013 г.

VB cкрипт для бэкапа 1С баз, отключает пользователей, блокирует базу, монтирует сетевой диск, выгружает, все закрывает :)


Dim WshNetwork ' объект сети
Dim WshShell ' шел ОС
Dim WshEnv ' переменное окружение шела
Dim ServerName ' DNS имя сервера с 1С
Dim InfoBasesAdminName ' админ базы
Dim InfoBasesAdminPass ' пароль админа базы
Dim ClasterPortNumber ' порт кластера
Dim ClasterAdminName ' админ кластера
Dim ClasterAdminPass ' пароль админа кластера
Dim LockPermissionCode ' код блокировки базы
Dim LockMessageText ' сообщение о блокировке базы
Dim FileName ' имя файла бэкапа
Dim DumpPath ' путь куда бэкапить
Dim ComConnector ' ком объект 1С
Dim ConnectToWProc ' коннектор к 1С процессу
Dim ServerAgent ' адрес агента 1С
Dim PrgDirx86 ' exe 1Ски
Dim CommandExe ' команда на запуск
Dim NetPath ' сетевой путь к бэкапам

Function init()
Set WshNetwork = WScript.CreateObject("WScript.Network")
Set ComConnector = CreateObject("v82.COMConnector")
Set ServerAgent = ComConnector.ConnectAgent(ServerName)
Set WshShell = CreateObject("WScript.Shell")
Set WshEnv = WshShell.Environment
NetPath = "\\192.168.1.1\backups\1C\dt"
ServerName = "srv-1csql"
InfoBasesAdminName = "backuper"
InfoBasesAdminPass = "123backuper"
ClasterPortNumber = 1541
ClasterAdminName = "Administrator"
ClasterAdminPass = "пароль админа кластера"
LockPermissionCode = "12345"
LockMessageText = vbCrLf + "База закрыта на создание резервной копии, примерно, на 10 минут"
DumpPath = "X:"
' получаем exe 1Ски, оно будет делать выгрузку
PrgDirx86 = WshShell.RegRead("HKEY_CLASSES_ROOT\CLSID\{5CD98F13-1050-4b43-84F2-33AD97CFC287}\LocalServer32\")
End Function

Function destroy()
WshNetwork = Null
ComConnector = Null
ServerAgent = Null
ConnectToWProc = Null
WshShell = Null
WshEnv = Null
End Function

Function Base_BKP(InfoBaseName) ' имя базы для бэкапа
Dim FindInfoBase ' признак успешного поиска базы
Dim Clasters ' массив кластеров сервера у агента сервера
Dim Claster ' кластер 1С
Dim WorkingProcesses ' массив рабочих процессов
Dim WorkingProcess ' рабочий процесс в кластере 1С
Dim InfoBases ' массив рабочих баз рабочего процесса
Dim InfoBase ' информационная база
Dim Connections ' массив подключений
Dim Connection ' подключение

FindInfoBase = False
FileName = DumpPath & "\" & InfoBaseName & "_" & _
Right("0" & Day(Now), 2) & "." & Right("0" & Month(Now), 2) & "." & Year(Now) & _
"-" & Right("0" & Hour(Now), 2) & "." & Right("0" & Minute(Now), 2) & "." + Right(Second(Now), 2) & ".dt"          
CommandExe = """" + PrgDirx86 + """ CONFIG /S" + ServerName + "\" + InfoBaseName + _
" /N" + InfoBasesAdminName + " /P" + InfoBasesAdminPass + _
" /UC" + LockPermissionCode + " /DisableStartupMessages /DumpIB " + FileName

Clasters = ServerAgent.GetClusters()
For Each Claster In Clasters
If Claster.MainPort = ClasterPortNumber Then
ServerAgent.Authenticate Claster, ClasterAdminName, ClasterAdminPass ' аутентифицируемся в кластере
WorkingProcesses = ServerAgent.GetWorkingProcesses(Claster) ' получаем список массив рабочих процессов кластера
For Each WorkingProcess In WorkingProcesses
If WorkingProcess.Running = 1 Then
' подключаемся к рабочему процессу
Set ConnectToWProc = ComConnector.ConnectWorkingProcess("tcp://" + WorkingProcess.HostName + ":" + CStr(WorkingProcess.MainPort))
ConnectToWProc.AuthenticateAdmin ClasterAdminName, ClasterAdminPass
          ConnectToWProc.AddAuthentication InfoBasesAdminName, InfoBasesAdminPass
      ' ищим базу данных
      InfoBases = ConnectToWProc.GetInfoBases() ' получаем массив баз данных
      For Each InfoBase In InfoBases
  If UCase(InfoBase.Name) = UCase(InfoBaseName) Then ' нашли нужную нам базу
      FindInfoBase = True
              Exit For
      End If
      Next
End If  
    ' закрываем все активные подключения во всех рабочих процессах
    Connections = ConnectToWProc.GetInfoBaseConnections(InfoBase) ' получаем массив соединений с базой
    For Each Connection In Connections
    If Connection.AppId <> "COMConsole" Then
    ConnectToWProc.Disconnect(Connection) ' разрываем соединения с базой
End If
    Next
Next
End If
Next

If FindInfoBase = True Then
' блокируем базу
InfoBase.ConnectDenied = True        
InfoBase.DeniedFrom = CStr(Now())
   InfoBase.DeniedTo = CStr(Now() + 1 / 300)
   InfoBase.DeniedMessage = LockMessageText
   InfoBase.PermissionCode = LockPermissionCode
   ConnectToWProc.UpdateInfoBase(InfoBase)

 
WshNetwork.MapNetworkDrive DumpPath, NetPath, "false", "CORP\backuper", "123backuper"  
   ' архивируем базу
WshShell.Run CommandExe, 0, True
WshNetwork.RemoveNetworkDrive DumpPath, "true", "true"
' отключаем блокировку базы
InfoBase.ConnectDenied = False
ConnectToWProc.UpdateInfoBase(InfoBase)
FindInfoBase = False
End If
End Function

init()
'Base_BKP("ka_bf")
Base_BKP("new_work")
destroy()