Вот вариант приведенного выше кода, который представляет собой функцию обратного вызова, которая реагирует на щелчок по метке(на кнопку _на нажатие _на сигнал события)и изменяет текст и цвет метки на основе метки. текущий текст. На Raspberry Pi работает нормально. Спасибо, парни.
void on_block_01_pwr_button_press_event()
{ GtkWidget *label=GTK_WIDGET(block_01_pwr);
const gchar * txt;
char *format;
gchar *markup;
txt=gtk_label_get_text((GtkLabel *) block_01_pwr);
int x=strcmp("pwr #1", txt);
if(x==0)
{ txt="pwr #2";
format="<span foreground=\"#40c0c0\">%s</span>";
markup=g_markup_printf_escaped(format,txt);
}
else
{ x=strcmp("pwr #2", txt);
if(x==0){txt="pwr off";
format="<span foreground=\"#999999\">%s</span>";
markup=g_markup_printf_escaped(format,txt);
}
else
{txt="pwr #1";
format="<span foreground=\"#000000\">%s</span>";
markup=g_markup_printf_escaped(format,txt);
}
}
gtk_label_set_text((GtkLabel *) block_01_pwr, txt);
gtk_label_set_markup(GTK_LABEL (label), markup);
g_free(markup);
// Add code here to set this block's power pack # (or off) and data array entry
}
Параметр «Выполнить -как спецификацию -» сочетается с параметрами -u
и -g
параметра sudo
.
(ALL)
вы можете запускать последующие команды от имени любого пользователя. Синтаксис для этого будет sudo -u <user> command
. (:ALL)
вы можете запускать последующие команды как любая группа. Синтаксис для этого будет sudo -g <group> command
. (ALL:ALL)
вы можете запускать последующие команды от имени любого пользователя и/или любой группы. Обратите внимание, что эта конфигурация не требует использования пользователя и группы, поэтому вы можете сделать:sudo -u <user> command
sudo -g <group> command
sudo -u <user> -g <group> command
Дополнительную информацию и несколько примеров см. в разделе 'Runas _Spec' руководства sudoers.