LINUX.ORG.RU

Сообщения CreepingDeath

 

Есть ли потребность в косметических изменения для LXDE?

Комрады!! Ушел с cinnamon на lxde. Слегка подбешивают некоторые элементы интерфейса. Например убогое меню без поиска (про Ctrl+F2) - знаю. Плюс дисгармония в отображении плагинов - часть отрисована на cairo, часть уже, как иконки. Ладно, фиг с ним, индикатор загрузки ЦП... Но индикатор батареи!!! Две зеленых полосочки, блин!!! В 2017 году!!!

Короче. Есть желание этот пробел исправить. Касаемо монитора батареи патч уже отправлен. Но учитывая скорость принятия патчей в проект (да и вообще, я хз, может это вообще генеральная линия проекта - чем более олдскульно, тем лучше).

Так вот, для себя монитор батареи я поправил. Примут ли патч - неизвестно. Стоит ли заморочиться со сборкой этого плагина, как пакета? Кому то это интерсно?

Ну и, в принципе, с меню тоже надо что то делать...

Короче, есть ли потребность в эстетических улучшениях интерфейса lxde?

 ,

CreepingDeath ()

QWebview и получение разрешений для приложения.

За два дня гуглинга не нашел ничего внятного. Создаю запрос для аутентификации через OAuth. Вставляю его в webview

ui->webView->setUrl(QUrl(newReq));
или
ui->webView->load(QUrl(newReq));

Отображается страница в вводом логина и пароля. Ввожу. И вот дальше, редирект происходит на https://www.google.com/settings/personalinfo вместо страницы с подтверждением разрешений для приложения.
Если запрос ввести в браузере, то после ввода логина/пароля редиректит как и положено на разрешения для приложения.
JS включен.

       settings->setAttribute(QWebSettings::PluginsEnabled, true);
       settings->setAttribute(QWebSettings::AutoLoadImages, true);
       settings->setAttribute(QWebSettings::JavaEnabled, true);
       settings->setAttribute(QWebSettings::JavascriptCanOpenWindows, true);

Подскажите куда еще посмотреть?

 , ,

CreepingDeath ()

Забавное поведение mount

Добрый день. Недавно я столкнулся со следующей проблемой: имеется программа prog1, в которой исполняется код (упрощенно, но смысл понятен)

int commandExecute(string command,string* ret){
    string d;
    char s[1000];
    FILE* f=popen(command.c_str(),"r");
    while(fgets(s,1000,f)!=0){
        ret->append(&s[0]);
    }
    pclose(f);

    if(ret->size()==0){
        return -1;
    }
    return 0;
}

int main(){
    string ret;
    commandExecute("mount /dev/sdb1 /home/user/MP",&ret);
    printf(ret.c_str());
    ret="";
    commandExecute("/usr/bin/prog0 /home/user/MP",&ret);
    ret="";
    commandExecute("umount /dev/sdb1",&ret);
    return 0;
}
Если вызывать от root'a, то все работает как и должно- раздел монтируется, исполняется prog0 и раздел размонтируется.
Но хотелось бы исполнять prog1 от имени обычного юзера. Для этого написан демон, который через named pipe получает команду и выполняет:
int commandExecute(string command,string* ret){
    string d;
    char s[1000];
    FILE* f=popen(command.c_str(),"r");
    while(fgets(s,1000,f)!=0){
        ret->append(&s[0]);
    }
    pclose(f);

    if(ret->size()==0){
        return -1;
    }
    return 0;
}
......

commandExecute("/usr/bin/prog1",&ret);

......

При этом все работает, как и было задумано. За исключением того, что во время работы prog0 раздел /dev/sdb1 не виден ни в mtab ни в выводе mount, а так же его содержимое не видно в точке монтирования /home/user/MP.
А вот, собственно и вопрос- чем можно объяснить такое поведение mount?

 ,

CreepingDeath ()

RSS подписка на новые темы