master #139

Merged
asmeron merged 13 commits from YanTheKaller/ubl-settings-logging:master into master 3 months ago

@ -1,5 +1,5 @@
Service_Name;Service_Description;Сommand_Start;Сommand_Stop;Сommand_Enable;Сommand_Disable;Сommand_Status Service_Name;Service_Description;Сommand_Start;Сommand_Stop;Сommand_Enable;Сommand_Disable;Сommand_Status;Сommand_Status_Active;Сommand_Status_Enabled
journald;System event log;systemctl start systemd-journald.service;systemctl stop systemd-journald.service;ubconfig --default set [system] SERVICES_DISABLE--=systemd-journald.service SERVICES_ENABLE++=systemd-journald.service;ubconfig --default set [system] SERVICES_ENABLE--=systemd-journald.service SERVICES_DISABLE++=systemd-journald.service;systemctl status systemd-journald.service journald;System event log;systemctl start systemd-journald.service;systemctl stop systemd-journald.service;ubconfig --default set [system] SERVICES_DISABLE--=systemd-journald.service SERVICES_ENABLE++=systemd-journald.service;ubconfig --default set [system] SERVICES_ENABLE--=systemd-journald.service SERVICES_DISABLE++=systemd-journald.service;systemctl status systemd-journald.service --no-pager;systemctl --quiet is-active systemd-journald.service;systemctl --quiet is-enabled systemd-journald.service
logrotate;System event log rotation service;systemctl start logrotate.timer;systemctl stop logrotate.timer logrotate.service;ubconfig --default set [system] SERVICES_DISABLE--=logrotate.timer SERVICES_ENABLE++=logrotate.timer;ubconfig --default set [system] SERVICES_ENABLE--=logrotate.timer SERVICES_DISABLE++=logrotate.timer;systemctl status logrotate.service logrotate;System event log rotation service;systemctl start logrotate.timer logrotate.service;systemctl stop logrotate.timer logrotate.service;ubconfig --default set [system] SERVICES_DISABLE--=logrotate.timer SERVICES_ENABLE++=logrotate.timer;ubconfig --default set [system] SERVICES_ENABLE--=logrotate.timer SERVICES_DISABLE++=logrotate.timer;systemctl status logrotate.timer logrotate.service --no-pager;systemctl --quiet is-active logrotate.timer;systemctl --quiet is-enabled logrotate.timer
#metalog;System event log;systemctl start metalog.service;systemctl stop metalog.service;ubconfig --default set [system] SERVICES_DISABLE--=metalog.service SERVICES_ENABLE++=metalog.service;ubconfig --default set [system] SERVICES_ENABLE--=metalog.service SERVICES_DISABLE++=metalog.service;systemctl status metalog.service #metalog;System event log;systemctl start metalog.service;systemctl stop metalog.service;ubconfig --default set [system] SERVICES_DISABLE--=metalog.service SERVICES_ENABLE++=metalog.service;ubconfig --default set [system] SERVICES_ENABLE--=metalog.service SERVICES_DISABLE++=metalog.service;systemctl status metalog.service --no-pager;systemctl --quiet is-active metalog.service;systemctl --quiet is-enabled metalog.service
#syslog-ng;Service for collecting messages from system events of active network devices;systemctl start syslog-ng.service;systemctl stop syslog-ng.service;ubconfig --default set [system] SERVICES_DISABLE--=syslog-ng.service SERVICES_ENABLE++=syslog-ng.service;ubconfig --default set [system] SERVICES_ENABLE--=syslog-ng.service SERVICES_DISABLE++=syslog-ng.service;systemctl status syslog-ng.service #syslog-ng;Service for collecting messages from system events of active network devices;systemctl start syslog-ng.service;systemctl stop syslog-ng.service;ubconfig --default set [system] SERVICES_DISABLE--=syslog-ng.service SERVICES_ENABLE++=syslog-ng.service;ubconfig --default set [system] SERVICES_ENABLE--=syslog-ng.service SERVICES_DISABLE++=syslog-ng.service;systemctl status syslog-ng.service --no-pager;systemctl --quiet is-active syslog-ng.service;systemctl --quiet is-enabled syslog-ng.service
1 Service_Name Service_Description Сommand_Start Сommand_Stop Сommand_Enable Сommand_Disable Сommand_Status Сommand_Status_Active Сommand_Status_Enabled
2 journald System event log systemctl start systemd-journald.service systemctl stop systemd-journald.service ubconfig --default set [system] SERVICES_DISABLE--=systemd-journald.service SERVICES_ENABLE++=systemd-journald.service ubconfig --default set [system] SERVICES_ENABLE--=systemd-journald.service SERVICES_DISABLE++=systemd-journald.service systemctl status systemd-journald.service systemctl status systemd-journald.service --no-pager systemctl --quiet is-active systemd-journald.service systemctl --quiet is-enabled systemd-journald.service
3 logrotate System event log rotation service systemctl start logrotate.timer systemctl start logrotate.timer logrotate.service systemctl stop logrotate.timer logrotate.service ubconfig --default set [system] SERVICES_DISABLE--=logrotate.timer SERVICES_ENABLE++=logrotate.timer ubconfig --default set [system] SERVICES_ENABLE--=logrotate.timer SERVICES_DISABLE++=logrotate.timer systemctl status logrotate.service systemctl status logrotate.timer logrotate.service --no-pager systemctl --quiet is-active logrotate.timer systemctl --quiet is-enabled logrotate.timer
4 #metalog System event log systemctl start metalog.service systemctl stop metalog.service ubconfig --default set [system] SERVICES_DISABLE--=metalog.service SERVICES_ENABLE++=metalog.service ubconfig --default set [system] SERVICES_ENABLE--=metalog.service SERVICES_DISABLE++=metalog.service systemctl status metalog.service systemctl status metalog.service --no-pager systemctl --quiet is-active metalog.service systemctl --quiet is-enabled metalog.service
5 #syslog-ng Service for collecting messages from system events of active network devices systemctl start syslog-ng.service systemctl stop syslog-ng.service ubconfig --default set [system] SERVICES_DISABLE--=syslog-ng.service SERVICES_ENABLE++=syslog-ng.service ubconfig --default set [system] SERVICES_ENABLE--=syslog-ng.service SERVICES_DISABLE++=syslog-ng.service systemctl status syslog-ng.service systemctl status syslog-ng.service --no-pager systemctl --quiet is-active syslog-ng.service systemctl --quiet is-enabled syslog-ng.service

@ -94,6 +94,16 @@ void update_loaded_logrotate(){
} }
} }
void yon_journald_size_update(journald_window *window){
int sz;
config_str logsize = yon_config_load(journald_size_command,&sz);
if (logsize){
if (logsize[0][strlen(logsize[0])-1]=='\n')
logsize[0][strlen(logsize[0])-1]='\0';
}
gtk_label_set_text(GTK_LABEL(window->LogSizeLabel),logsize[0]);
}
int yon_load_proceed(YON_CONFIG_TYPE type){ int yon_load_proceed(YON_CONFIG_TYPE type){
if (type!=YON_CONFIG_CUSTOM){ if (type!=YON_CONFIG_CUSTOM){
yon_config_clean(); yon_config_clean();
@ -440,6 +450,7 @@ void on_inspector_open(GtkWidget *, main_window *widgets){
inspector_window *window = malloc(sizeof(inspector_window)); inspector_window *window = malloc(sizeof(inspector_window));
GtkBuilder *builder = gtk_builder_new_from_resource(glade_inspector_path); GtkBuilder *builder = gtk_builder_new_from_resource(glade_inspector_path);
window->MainWindow=yon_gtk_builder_get_widget(builder,"MainWindow"); window->MainWindow=yon_gtk_builder_get_widget(builder,"MainWindow");
window->TitleLabel=yon_gtk_builder_get_widget(builder,"headerTopic");
window->ShowSinceBootButton=yon_gtk_builder_get_widget(builder,"ShowSinceBootButton"); window->ShowSinceBootButton=yon_gtk_builder_get_widget(builder,"ShowSinceBootButton");
window->NewMessagesButton=yon_gtk_builder_get_widget(builder,"NewMessagesButton"); window->NewMessagesButton=yon_gtk_builder_get_widget(builder,"NewMessagesButton");
window->ShowKernelButton=yon_gtk_builder_get_widget(builder,"ShowKernelButton"); window->ShowKernelButton=yon_gtk_builder_get_widget(builder,"ShowKernelButton");
@ -453,7 +464,6 @@ void on_inspector_open(GtkWidget *, main_window *widgets){
window->JournaldTree=yon_gtk_builder_get_widget(builder,"JournaldTree"); window->JournaldTree=yon_gtk_builder_get_widget(builder,"JournaldTree");
window->list=GTK_LIST_STORE(gtk_builder_get_object(builder,"liststore1")); window->list=GTK_LIST_STORE(gtk_builder_get_object(builder,"liststore1"));
yon_window_config_custom_window_setup(GTK_WINDOW(window->MainWindow),"InspectorWindow"); yon_window_config_custom_window_setup(GTK_WINDOW(window->MainWindow),"InspectorWindow");
gtk_window_set_title(GTK_WINDOW(window->MainWindow),INSPECTOR_TITLE_LABEL);
gtk_window_set_transient_for(GTK_WINDOW(window->MainWindow),GTK_WINDOW(widgets->Window)); gtk_window_set_transient_for(GTK_WINDOW(window->MainWindow),GTK_WINDOW(widgets->Window));
GtkTreeModel *model = GTK_TREE_MODEL(widgets->list); GtkTreeModel *model = GTK_TREE_MODEL(widgets->list);
GList *list = gtk_tree_view_get_columns(GTK_TREE_VIEW(window->JournaldTree)); GList *list = gtk_tree_view_get_columns(GTK_TREE_VIEW(window->JournaldTree));
@ -481,6 +491,8 @@ void on_inspector_open(GtkWidget *, main_window *widgets){
gtk_tree_model_get(model,&iter,0,&name,1,&paths,-1); gtk_tree_model_get(model,&iter,0,&name,1,&paths,-1);
window->journal_name=name; window->journal_name=name;
window->journal_paths=yon_char_parse(paths,&window->journal_size,"\n"); window->journal_paths=yon_char_parse(paths,&window->journal_size,"\n");
yon_gtk_window_setup(GTK_WINDOW(window->MainWindow),NULL,INSPECTOR_TITLE_LABEL(name),icon_path,"inspector_window");
gtk_label_set_text(GTK_LABEL(window->TitleLabel),INSPECTOR_TITLE_LABEL(name));
config_str final=NULL; config_str final=NULL;
int final_size=0; int final_size=0;
for (int i=0;i<window->journal_size;i++){ for (int i=0;i<window->journal_size;i++){
@ -506,6 +518,7 @@ void on_inspector_open(GtkWidget *, main_window *widgets){
window->journal_size=final_size; window->journal_size=final_size;
window->terminals = NULL; window->terminals = NULL;
if (strcmp(name,"journald")){ if (strcmp(name,"journald")){
gtk_widget_set_margin_top(gtk_widget_get_parent(window->UpdateButton),25);
window->last_mode=-1; window->last_mode=-1;
if (window->journal_size==0){ if (window->journal_size==0){
GtkWidget *terminal = yon_inspector_add_terminal(window,window->journal_name,0); GtkWidget *terminal = yon_inspector_add_terminal(window,window->journal_name,0);
@ -2114,10 +2127,47 @@ void on_journald_save(GtkWidget *, journald_window *window){
on_subwindow_close(window->MainWindow); on_subwindow_close(window->MainWindow);
} }
void on_journald_size_lower_size(GtkWidget *, journald_window *window){
long time_long = gtk_spin_button_get_value(GTK_SPIN_BUTTON(window->LowerSizeEntry));
if (time_long){
char *time = yon_char_from_long(time_long);
char *time_mod = (char*)gtk_combo_box_get_active_id(GTK_COMBO_BOX(window->LowerSizeCombo));
char *time_full = yon_char_append(time,time_mod);
if (!system(journald_lower_size_command(time_full))){
yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),yon_char_get_localised_from_lib(SUCCESS_LABEL),5,BACKGROUND_IMAGE_SUCCESS_TYPE);
} else {
yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),yon_char_get_localised_from_lib(FAIL_LABEL),5,BACKGROUND_IMAGE_SUCCESS_TYPE);
}
} else {
yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),EMPTY_IMPORTANT_LABEL,5,BACKGROUND_IMAGE_SUCCESS_TYPE);
yon_ubl_status_highlight_incorrect(window->LowerSizeEntry);
}
yon_journald_size_update(window);
}
void on_journald_size_lower_time(GtkWidget *, journald_window *window){
long time_long = gtk_spin_button_get_value(GTK_SPIN_BUTTON(window->LowerTimeEntry));
if (time_long){
char *time = yon_char_from_long(time_long);
char *time_mod = (char*)gtk_combo_box_get_active_id(GTK_COMBO_BOX(window->LowerTimeCombo));
char *time_full = yon_char_append(time,time_mod);
if (!system(journald_lower_time_command(time_full))){
yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),yon_char_get_localised_from_lib(SUCCESS_LABEL),5,BACKGROUND_IMAGE_SUCCESS_TYPE);
} else {
yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),yon_char_get_localised_from_lib(FAIL_LABEL),5,BACKGROUND_IMAGE_SUCCESS_TYPE);
}
} else {
yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),EMPTY_IMPORTANT_LABEL,5,BACKGROUND_IMAGE_SUCCESS_TYPE);
yon_ubl_status_highlight_incorrect(window->LowerTimeEntry);
}
yon_journald_size_update(window);
}
journald_window *yon_journald_open(GtkWidget *, main_window *widgets){ journald_window *yon_journald_open(GtkWidget *, main_window *widgets){
journald_window *window = malloc(sizeof(journald_window)); journald_window *window = malloc(sizeof(journald_window));
GtkBuilder *builder = gtk_builder_new_from_resource(glade_journald_path); GtkBuilder *builder = gtk_builder_new_from_resource(glade_journald_path);
window->MainWindow=yon_gtk_builder_get_widget(builder,"MainWindow"); window->MainWindow=yon_gtk_builder_get_widget(builder,"MainWindow");
window->StatusBox=yon_gtk_builder_get_widget(builder,"StatusBox");
window->CancelButton=yon_gtk_builder_get_widget(builder,"CancelButton"); window->CancelButton=yon_gtk_builder_get_widget(builder,"CancelButton");
window->SaveButton=yon_gtk_builder_get_widget(builder,"SaveButton"); window->SaveButton=yon_gtk_builder_get_widget(builder,"SaveButton");
window->ResetButton=yon_gtk_builder_get_widget(builder,"ResetButton"); window->ResetButton=yon_gtk_builder_get_widget(builder,"ResetButton");
@ -2156,17 +2206,14 @@ journald_window *yon_journald_open(GtkWidget *, main_window *widgets){
yon_window_config_custom_window_setup(GTK_WINDOW(window->MainWindow),"JournaldWindow"); yon_window_config_custom_window_setup(GTK_WINDOW(window->MainWindow),"JournaldWindow");
gtk_window_set_transient_for(GTK_WINDOW(window->MainWindow),GTK_WINDOW(widgets->Window)); gtk_window_set_transient_for(GTK_WINDOW(window->MainWindow),GTK_WINDOW(widgets->Window));
{
int sz; yon_journald_size_update(window);
config_str logsize = yon_config_load(journald_size_command,&sz);
if (logsize){
if (logsize[0][strlen(logsize[0])-1]=='\n')
logsize[0][strlen(logsize[0])-1]='\0';
}
gtk_label_set_text(GTK_LABEL(window->LogSizeLabel),logsize[0]);
}
gtk_window_set_title(GTK_WINDOW(window->MainWindow),JOURNALD_TITLE_LABEL); gtk_window_set_title(GTK_WINDOW(window->MainWindow),JOURNALD_TITLE_LABEL);
g_signal_connect(G_OBJECT(window->LowerSizeButton),"clicked",G_CALLBACK(on_journald_size_lower_size),window);
g_signal_connect(G_OBJECT(window->LowerTimeButton),"clicked",G_CALLBACK(on_journald_size_lower_time),window);
g_signal_connect(G_OBJECT(window->CancelButton),"clicked",G_CALLBACK(on_subwindow_close),NULL); g_signal_connect(G_OBJECT(window->CancelButton),"clicked",G_CALLBACK(on_subwindow_close),NULL);
g_signal_connect(G_OBJECT(window->SaveButton),"clicked",G_CALLBACK(on_journald_save),window); g_signal_connect(G_OBJECT(window->SaveButton),"clicked",G_CALLBACK(on_journald_save),window);
g_signal_connect(G_OBJECT(window->ResetButton),"clicked",G_CALLBACK(on_journald_reset),window); g_signal_connect(G_OBJECT(window->ResetButton),"clicked",G_CALLBACK(on_journald_reset),window);
@ -2378,6 +2425,7 @@ add_log_window *on_add_open(main_window *widgets){
window->StatusBox=yon_gtk_builder_get_widget(builder,"StatusBox"); window->StatusBox=yon_gtk_builder_get_widget(builder,"StatusBox");
gtk_window_set_title(GTK_WINDOW(window->MainWindow),MONITOR_TITLE_LABEL); gtk_window_set_title(GTK_WINDOW(window->MainWindow),MONITOR_TITLE_LABEL);
gtk_window_set_transient_for(GTK_WINDOW(window->MainWindow),GTK_WINDOW(widgets->Window)); gtk_window_set_transient_for(GTK_WINDOW(window->MainWindow),GTK_WINDOW(widgets->Window));
window->log_name=NULL;
dictionary *dict = NULL; dictionary *dict = NULL;
yon_dictionary_add_or_create_if_exists_with_data(dict,"widgets",widgets); yon_dictionary_add_or_create_if_exists_with_data(dict,"widgets",widgets);
yon_dictionary_add_or_create_if_exists_with_data(dict,"window",window); yon_dictionary_add_or_create_if_exists_with_data(dict,"window",window);
@ -2761,6 +2809,7 @@ void on_main_window_services_tree_selection_changed(GtkWidget *,main_window *wid
GtkTreeIter iter; GtkTreeIter iter;
if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->ServicesTree)),&model,&iter)){ if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->ServicesTree)),&model,&iter)){
gtk_widget_set_sensitive(widgets->ServicesControlButton,1);
gboolean is_active; gboolean is_active;
gboolean is_enabled; gboolean is_enabled;
char *name; char *name;
@ -2768,67 +2817,53 @@ void on_main_window_services_tree_selection_changed(GtkWidget *,main_window *wid
gtk_tree_model_get(model,&iter,0,&is_active,1,&is_enabled,2,&name,-1); gtk_tree_model_get(model,&iter,0,&is_active,1,&is_enabled,2,&name,-1);
if (is_active){ if (is_active){
gtk_widget_set_sensitive(widgets->ServicesEditButton,1); gtk_widget_set_sensitive(widgets->ServicesEditButton,1);
gtk_widget_set_sensitive(widgets->ServicesEnableDisableButton,1); // gtk_widget_set_sensitive(GTK_WIDGET(g_list_nth_data(list,0)),1);
gtk_widget_set_sensitive(widgets->ServicesStartStopButton,1);
gtk_widget_set_sensitive(GTK_WIDGET(g_list_nth_data(list,0)),1);
gtk_widget_set_sensitive(GTK_WIDGET(g_list_nth_data(list,1)),1); gtk_widget_set_sensitive(GTK_WIDGET(g_list_nth_data(list,1)),1);
gtk_widget_set_tooltip_text(widgets->ServicesEnableDisableButton,AUTOSTART_OFF_LABEL); gtk_image_set_from_icon_name(GTK_IMAGE(gtk_button_get_image(GTK_BUTTON(widgets->ServicesControlButton))),stop_icon_name,GTK_ICON_SIZE_BUTTON);
gtk_widget_set_tooltip_text(widgets->ServicesStartStopButton,STOP_SERVICE_LABEL);
gtk_image_set_from_icon_name(GTK_IMAGE(gtk_button_get_image(GTK_BUTTON(widgets->ServicesStartStopButton))),stop_icon_name,GTK_ICON_SIZE_BUTTON);
GList *item = gtk_container_get_children(GTK_CONTAINER(g_list_nth_data(list,0))); GList *item = gtk_container_get_children(GTK_CONTAINER(g_list_nth_data(list,0)));
GList *items = gtk_container_get_children(GTK_CONTAINER(g_list_nth_data(item,0))); GList *items = gtk_container_get_children(GTK_CONTAINER(g_list_nth_data(item,0)));
gtk_image_set_from_icon_name(GTK_IMAGE(g_list_nth_data(items,0)),stop_icon_name,GTK_ICON_SIZE_BUTTON); gtk_image_set_from_icon_name(GTK_IMAGE(g_list_nth_data(items,0)),stop_icon_name,GTK_ICON_SIZE_BUTTON);
gtk_label_set_text(GTK_LABEL(g_list_nth_data(items,1)),STOP_SERVICE_LABEL);
g_list_free(item); g_list_free(item);
g_list_free(items); g_list_free(items);
} else { } else {
gtk_widget_set_sensitive(widgets->ServicesEditButton,0); gtk_widget_set_sensitive(widgets->ServicesEditButton,0);
gtk_widget_set_sensitive(widgets->ServicesEnableDisableButton,1); // gtk_widget_set_sensitive(GTK_WIDGET(g_list_nth_data(list,0)),1);
gtk_widget_set_sensitive(widgets->ServicesStartStopButton,1); gtk_widget_set_sensitive(GTK_WIDGET(g_list_nth_data(list,1)),0);
gtk_widget_set_sensitive(GTK_WIDGET(g_list_nth_data(list,0)),1); gtk_image_set_from_icon_name(GTK_IMAGE(gtk_button_get_image(GTK_BUTTON(widgets->ServicesControlButton))),start_icon_name,GTK_ICON_SIZE_BUTTON);
gtk_widget_set_sensitive(GTK_WIDGET(g_list_nth_data(list,1)),1);
gtk_widget_set_tooltip_text(widgets->ServicesEnableDisableButton,AUTOSTART_ON_LABEL);
gtk_widget_set_tooltip_text(widgets->ServicesStartStopButton,START_SERVICE_LABEL);
gtk_image_set_from_icon_name(GTK_IMAGE(gtk_button_get_image(GTK_BUTTON(widgets->ServicesStartStopButton))),start_icon_name,GTK_ICON_SIZE_BUTTON);
GList *item = gtk_container_get_children(GTK_CONTAINER(g_list_nth_data(list,0))); GList *item = gtk_container_get_children(GTK_CONTAINER(g_list_nth_data(list,0)));
GList *items = gtk_container_get_children(GTK_CONTAINER(g_list_nth_data(item,0))); GList *items = gtk_container_get_children(GTK_CONTAINER(g_list_nth_data(item,0)));
gtk_image_set_from_icon_name(GTK_IMAGE(g_list_nth_data(items,0)),start_icon_name,GTK_ICON_SIZE_BUTTON); gtk_image_set_from_icon_name(GTK_IMAGE(g_list_nth_data(items,0)),start_icon_name,GTK_ICON_SIZE_BUTTON);
gtk_label_set_text(GTK_LABEL(g_list_nth_data(items,1)),START_SERVICE_LABEL);
g_list_free(item);
g_list_free(items);
}
if (is_enabled){
gtk_image_set_from_icon_name(GTK_IMAGE(gtk_button_get_image(GTK_BUTTON(widgets->ServicesEnableDisableButton))),disable_icon_name,GTK_ICON_SIZE_BUTTON);
GList *item = gtk_container_get_children(GTK_CONTAINER(g_list_nth_data(list,1)));
GList *items = gtk_container_get_children(GTK_CONTAINER(g_list_nth_data(item,0)));
gtk_image_set_from_icon_name(GTK_IMAGE(g_list_nth_data(items,0)),disable_icon_name,GTK_ICON_SIZE_BUTTON);
gtk_label_set_text(GTK_LABEL(g_list_nth_data(items,1)),AUTOSTART_OFF_LABEL);
g_list_free(item);
g_list_free(items);
} else {
gtk_image_set_from_icon_name(GTK_IMAGE(gtk_button_get_image(GTK_BUTTON(widgets->ServicesEnableDisableButton))),enable_icon_name,GTK_ICON_SIZE_BUTTON);
GList *item = gtk_container_get_children(GTK_CONTAINER(g_list_nth_data(list,1)));
GList *items = gtk_container_get_children(GTK_CONTAINER(g_list_nth_data(item,0)));
gtk_image_set_from_icon_name(GTK_IMAGE(g_list_nth_data(items,0)),enable_icon_name,GTK_ICON_SIZE_BUTTON);
gtk_label_set_text(GTK_LABEL(g_list_nth_data(items,1)),AUTOSTART_ON_LABEL);
g_list_free(item); g_list_free(item);
g_list_free(items); g_list_free(items);
} }
// if (is_enabled){
// gtk_image_set_from_icon_name(GTK_IMAGE(gtk_button_get_image(GTK_BUTTON(widgets->ServicesControlButton))),disable_icon_name,GTK_ICON_SIZE_BUTTON);
// GList *item = gtk_container_get_children(GTK_CONTAINER(g_list_nth_data(list,1)));
// GList *items = gtk_container_get_children(GTK_CONTAINER(g_list_nth_data(item,0)));
// gtk_image_set_from_icon_name(GTK_IMAGE(g_list_nth_data(items,0)),disable_icon_name,GTK_ICON_SIZE_BUTTON);
// gtk_label_set_text(GTK_LABEL(g_list_nth_data(items,1)),AUTOSTART_OFF_LABEL);
// g_list_free(item);
// g_list_free(items);
// } else {
// gtk_image_set_from_icon_name(GTK_IMAGE(gtk_button_get_image(GTK_BUTTON(widgets->ServicesControlButton))),enable_icon_name,GTK_ICON_SIZE_BUTTON);
// GList *item = gtk_container_get_children(GTK_CONTAINER(g_list_nth_data(list,1)));
// GList *items = gtk_container_get_children(GTK_CONTAINER(g_list_nth_data(item,0)));
// gtk_image_set_from_icon_name(GTK_IMAGE(g_list_nth_data(items,0)),enable_icon_name,GTK_ICON_SIZE_BUTTON);
// gtk_label_set_text(GTK_LABEL(g_list_nth_data(items,1)),AUTOSTART_ON_LABEL);
// g_list_free(item);
// g_list_free(items);
// }
if (!strcmp(name,"journald")){ if (!strcmp(name,"journald")){
gtk_widget_set_sensitive(GTK_WIDGET(g_list_nth_data(list,0)),0); // gtk_widget_set_sensitive(GTK_WIDGET(g_list_nth_data(list,0)),0);
gtk_widget_set_sensitive(GTK_WIDGET(g_list_nth_data(list,1)),0); // gtk_widget_set_sensitive(GTK_WIDGET(g_list_nth_data(list,1)),0);
gtk_widget_set_sensitive(widgets->ServicesEnableDisableButton,0); // gtk_widget_set_sensitive(widgets->ServicesControlButton,0);
gtk_widget_set_sensitive(widgets->ServicesStartStopButton,0); // gtk_widget_set_tooltip_text(widgets->ServicesControlButton,AUTOSTART_OFF_LABEL);
gtk_widget_set_tooltip_text(widgets->ServicesEnableDisableButton,AUTOSTART_OFF_LABEL);
gtk_widget_set_tooltip_text(widgets->ServicesStartStopButton,STOP_SERVICE_LABEL);
} }
g_list_free(list); g_list_free(list);
} else { } else {
gtk_widget_set_sensitive(widgets->ServicesEditButton,0); gtk_widget_set_sensitive(widgets->ServicesEditButton,0);
gtk_widget_set_sensitive(widgets->ServicesEnableDisableButton,0); gtk_widget_set_sensitive(widgets->ServicesControlButton,0);
gtk_widget_set_sensitive(widgets->ServicesStartStopButton,0); // gtk_widget_set_tooltip_text(widgets->ServicesControlButton,AUTOSTART_ON_LABEL);
gtk_widget_set_tooltip_text(widgets->ServicesEnableDisableButton,AUTOSTART_ON_LABEL);
gtk_widget_set_tooltip_text(widgets->ServicesStartStopButton,START_SERVICE_LABEL);
} }
} }
@ -2845,15 +2880,11 @@ void on_start_stop_clicked(GtkButton *, main_window *widgets){
if (is_started){ if (is_started){
g_spawn_command_line_sync(yon_debug_output("%s\n",stop_command),NULL,NULL,NULL,NULL); g_spawn_command_line_sync(yon_debug_output("%s\n",stop_command),NULL,NULL,NULL,NULL);
gtk_list_store_set(widgets->ServicesList,&iter,0,0,-1); gtk_list_store_set(widgets->ServicesList,&iter,0,0,-1);
gtk_image_set_from_icon_name(GTK_IMAGE(gtk_button_get_image(GTK_BUTTON(widgets->ServicesStartStopButton))),start_icon_name,GTK_ICON_SIZE_BUTTON);
gtk_image_set_from_icon_name(GTK_IMAGE(g_list_nth_data(box,0)),start_icon_name,GTK_ICON_SIZE_BUTTON); gtk_image_set_from_icon_name(GTK_IMAGE(g_list_nth_data(box,0)),start_icon_name,GTK_ICON_SIZE_BUTTON);
gtk_widget_set_tooltip_text(widgets->ServicesStartStopButton,START_SERVICE_LABEL);
} else { } else {
g_spawn_command_line_sync(yon_debug_output("%s\n",start_command),NULL,NULL,NULL,NULL); g_spawn_command_line_sync(yon_debug_output("%s\n",start_command),NULL,NULL,NULL,NULL);
gtk_list_store_set(widgets->ServicesList,&iter,0,1,-1); gtk_list_store_set(widgets->ServicesList,&iter,0,1,-1);
gtk_image_set_from_icon_name(GTK_IMAGE(gtk_button_get_image(GTK_BUTTON(widgets->ServicesStartStopButton))),stop_icon_name,GTK_ICON_SIZE_BUTTON);
gtk_image_set_from_icon_name(GTK_IMAGE(g_list_nth_data(box,0)),stop_icon_name,GTK_ICON_SIZE_BUTTON); gtk_image_set_from_icon_name(GTK_IMAGE(g_list_nth_data(box,0)),stop_icon_name,GTK_ICON_SIZE_BUTTON);
gtk_widget_set_tooltip_text(widgets->ServicesStartStopButton,STOP_SERVICE_LABEL);
} }
} }
} }
@ -2879,9 +2910,9 @@ void on_enable_disable_clicked(GtkButton *, main_window *widgets){
if (is_started){ if (is_started){
yon_launch(stop_command); yon_launch(stop_command);
gtk_list_store_set(widgets->ServicesList,&iter,1,0,-1); gtk_list_store_set(widgets->ServicesList,&iter,1,0,-1);
gtk_image_set_from_icon_name(GTK_IMAGE(gtk_button_get_image(GTK_BUTTON(widgets->ServicesEnableDisableButton))),enable_icon_name,GTK_ICON_SIZE_BUTTON); gtk_image_set_from_icon_name(GTK_IMAGE(gtk_button_get_image(GTK_BUTTON(widgets->ServicesControlButton))),start_icon_name,GTK_ICON_SIZE_BUTTON);
gtk_image_set_from_icon_name(GTK_IMAGE(g_list_nth_data(box,0)),enable_icon_name,GTK_ICON_SIZE_BUTTON); gtk_image_set_from_icon_name(GTK_IMAGE(g_list_nth_data(box,0)),start_icon_name,GTK_ICON_SIZE_BUTTON);
gtk_widget_set_tooltip_text(widgets->ServicesEnableDisableButton,AUTOSTART_ON_LABEL); // gtk_widget_set_tooltip_text(widgets->ServicesControlButton,AUTOSTART_ON_LABEL);
} else { } else {
/* /*
g_mutex_lock(&main_config.authorized_mutex); g_mutex_lock(&main_config.authorized_mutex);
@ -2891,9 +2922,9 @@ void on_enable_disable_clicked(GtkButton *, main_window *widgets){
g_mutex_unlock(&main_config.authorized_mutex);*/ g_mutex_unlock(&main_config.authorized_mutex);*/
yon_launch(start_command); yon_launch(start_command);
gtk_list_store_set(widgets->ServicesList,&iter,1,1,-1); gtk_list_store_set(widgets->ServicesList,&iter,1,1,-1);
gtk_image_set_from_icon_name(GTK_IMAGE(gtk_button_get_image(GTK_BUTTON(widgets->ServicesEnableDisableButton))),disable_icon_name,GTK_ICON_SIZE_BUTTON); gtk_image_set_from_icon_name(GTK_IMAGE(gtk_button_get_image(GTK_BUTTON(widgets->ServicesControlButton))),stop_icon_name,GTK_ICON_SIZE_BUTTON);
gtk_image_set_from_icon_name(GTK_IMAGE(g_list_nth_data(box,0)),disable_icon_name,GTK_ICON_SIZE_BUTTON); gtk_image_set_from_icon_name(GTK_IMAGE(g_list_nth_data(box,0)),stop_icon_name,GTK_ICON_SIZE_BUTTON);
gtk_widget_set_tooltip_text(widgets->ServicesEnableDisableButton,AUTOSTART_OFF_LABEL); // gtk_widget_set_tooltip_text(widgets->ServicesControlButton,AUTOSTART_OFF_LABEL);
} }
} }
} }
@ -2991,6 +3022,27 @@ void config_init(){
} }
} }
void on_service_manage(GtkWidget *,main_window *widgets){
GtkTreeIter iter;
GtkTreeModel *model = GTK_TREE_MODEL(widgets->ServicesList);
if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->ServicesTree)),&model,&iter)){
char *name,*start_command,*stop_command,*enable_command,*disable_command,*status_command,*check_active_command,*check_enable_command;
gtk_tree_model_get(model,&iter,
2,&name,5,&start_command,
6,&stop_command,7,&enable_command,
8,&disable_command,9,&status_command,
10,&check_active_command,11,&check_enable_command,
-1);
service_window *window = yon_service_window_new(name,start_command,stop_command,
enable_command,disable_command,
status_command,check_active_command,
check_enable_command);
gtk_window_set_transient_for(GTK_WINDOW(window->MainWindow),GTK_WINDOW(widgets->Window));
yon_service_window_run(window);
}
}
void yon_main_window_complete(template_main_window **window){ void yon_main_window_complete(template_main_window **window){
/* Widgets getting | Получение виджетов */ /* Widgets getting | Получение виджетов */
main_window *widgets = realloc(*window,sizeof(main_window)); main_window *widgets = realloc(*window,sizeof(main_window));
@ -3005,8 +3057,7 @@ void yon_main_window_complete(template_main_window **window){
widgets->RemoveButton = yon_gtk_builder_get_widget(builder,"MainRemoveButton"); widgets->RemoveButton = yon_gtk_builder_get_widget(builder,"MainRemoveButton");
widgets->Notebook = yon_gtk_builder_get_widget(builder,"MainNotebook"); widgets->Notebook = yon_gtk_builder_get_widget(builder,"MainNotebook");
widgets->ServicesEditButton = yon_gtk_builder_get_widget(builder,"ServicesEditButton"); widgets->ServicesEditButton = yon_gtk_builder_get_widget(builder,"ServicesEditButton");
widgets->ServicesStartStopButton = yon_gtk_builder_get_widget(builder,"ServicesStartStopButton"); widgets->ServicesControlButton = yon_gtk_builder_get_widget(builder,"ServicesControlButton");
widgets->ServicesEnableDisableButton = yon_gtk_builder_get_widget(builder,"ServicesEnableDisableButton");
widgets->ServicesTree = yon_gtk_builder_get_widget(builder,"ServicesTree"); widgets->ServicesTree = yon_gtk_builder_get_widget(builder,"ServicesTree");
widgets->list = GTK_LIST_STORE(gtk_builder_get_object(builder,"liststore1")); widgets->list = GTK_LIST_STORE(gtk_builder_get_object(builder,"liststore1"));
widgets->ServicesList = GTK_LIST_STORE(gtk_builder_get_object(builder,"ServicesList")); widgets->ServicesList = GTK_LIST_STORE(gtk_builder_get_object(builder,"ServicesList"));
@ -3056,8 +3107,11 @@ void yon_main_window_complete(template_main_window **window){
int log_size; int log_size;
services[i]=yon_char_divide_search(services[i],"\n",-1); services[i]=yon_char_divide_search(services[i],"\n",-1);
config_str log = yon_char_parse(services[i],&log_size,";"); config_str log = yon_char_parse(services[i],&log_size,";");
int is_active, is_enabled;
is_active = !system(log[7]);
is_enabled = !system(log[8]);
gtk_list_store_append(widgets->ServicesList,&iter); gtk_list_store_append(widgets->ServicesList,&iter);
gtk_list_store_set(widgets->ServicesList,&iter,0,1,1,1,2,log[0],3,_(log[1]),4,log[2],5,log[3],6,log[4],7,log[5],8,log[6],-1); gtk_list_store_set(widgets->ServicesList,&iter,0,is_active,1,is_enabled,2,log[0],3,_(log[1]),4,log[2],5,log[2],6,log[3],7,log[4],8,log[5],9,log[6],10,log[7],11,log[8],-1);
} }
} }
config_str dirs = yon_config_load(logrotate_config_command,&dirs_size); config_str dirs = yon_config_load(logrotate_config_command,&dirs_size);
@ -3173,17 +3227,16 @@ void yon_main_window_complete(template_main_window **window){
g_signal_connect(G_OBJECT(widgets->MainTree),"cursor-changed",G_CALLBACK(on_main_window_tree_selection_changed),widgets); g_signal_connect(G_OBJECT(widgets->MainTree),"cursor-changed",G_CALLBACK(on_main_window_tree_selection_changed),widgets);
g_signal_connect(G_OBJECT(widgets->ServicesTree),"cursor-changed",G_CALLBACK(on_main_window_services_tree_selection_changed),widgets); g_signal_connect(G_OBJECT(widgets->ServicesTree),"cursor-changed",G_CALLBACK(on_main_window_services_tree_selection_changed),widgets);
g_signal_connect(G_OBJECT(widgets->ServicesStartStopButton),"clicked",G_CALLBACK(on_start_stop_clicked),widgets); g_signal_connect(G_OBJECT(widgets->ServicesControlButton),"clicked",G_CALLBACK(on_service_manage),widgets);
g_signal_connect(G_OBJECT(widgets->ServicesEnableDisableButton),"clicked",G_CALLBACK(on_enable_disable_clicked),widgets);
widgets->LogsRMBMenu = yon_rmb_menu_setup(widgets->MainTree,(RmbCheck)gtk_widget_get_sensitive,widgets->MainTree, widgets->LogsRMBMenu = yon_rmb_menu_setup(widgets->MainTree,(RmbCheck)gtk_widget_get_sensitive,widgets->MainTree,
CONFIGURE_LOG_LABEL,settings_icon_name,G_CALLBACK(on_log_edit),widgets, CONFIGURE_LOG_LABEL,settings_icon_name,G_CALLBACK(on_log_edit),widgets,
CONFIGURE_LOG_LABEL,settings_icon_name,G_CALLBACK(on_log_edit),widgets,
ADD_LOG_LABEL,add_icon_name,G_CALLBACK(on_log_add),widgets, ADD_LOG_LABEL,add_icon_name,G_CALLBACK(on_log_add),widgets,
REMOVE_LOG_LABEL,remove_icon_name,G_CALLBACK(on_log_remove),widgets, REMOVE_LOG_LABEL,remove_icon_name,G_CALLBACK(on_log_remove),widgets,
NULL); NULL);
widgets->ServicesRMBMenu = yon_rmb_menu_setup(widgets->ServicesTree,(RmbCheck)gtk_widget_get_sensitive,widgets->ServicesTree, widgets->ServicesRMBMenu = yon_rmb_menu_setup(widgets->ServicesTree,(RmbCheck)gtk_widget_get_sensitive,widgets->ServicesTree,
START_SERVICE_LABEL,start_icon_name,G_CALLBACK(on_start_stop_clicked),widgets, SERVICE_MANAGEMENT_TOOLTIP,start_icon_name,G_CALLBACK(on_service_manage),widgets,
AUTOSTART_ON_LABEL,enable_icon_name,G_CALLBACK(on_enable_disable_clicked),widgets,
CONFIGURE_SERVICE_LABEL,settings_icon_name,G_CALLBACK(on_service_edit),widgets, CONFIGURE_SERVICE_LABEL,settings_icon_name,G_CALLBACK(on_service_edit),widgets,
NULL); NULL);
// yon_rmb_menu_setup(widgets->ServicesTree,(RmbCheck)gtk_widget_get_sensitive,widgets->MainTree,CONFIGURE_LOG_LABEL,edit_icon_name,G_CALLBACK(on_log_edit),widgets,ADD_LOG_LABEL,add_icon_name,G_CALLBACK(on_log_add),widgets,REMOVE_LOG_LABEL,remove_icon_name,G_CALLBACK(on_log_remove),widgets,NULL); // yon_rmb_menu_setup(widgets->ServicesTree,(RmbCheck)gtk_widget_get_sensitive,widgets->MainTree,CONFIGURE_LOG_LABEL,edit_icon_name,G_CALLBACK(on_log_edit),widgets,ADD_LOG_LABEL,add_icon_name,G_CALLBACK(on_log_add),widgets,REMOVE_LOG_LABEL,remove_icon_name,G_CALLBACK(on_log_remove),widgets,NULL);

@ -74,6 +74,9 @@
#define get_file_folder_size(path) yon_char_append("du -hsc ",path) #define get_file_folder_size(path) yon_char_append("du -hsc ",path)
#define get_all_files_in_path(path) yon_char_append("find ",path) #define get_all_files_in_path(path) yon_char_append("find ",path)
#define journald_lower_size_command(new_size) yon_char_append("journalctl --rotate; journalctl --vacuum-size=",new_size)
#define journald_lower_time_command(new_time) yon_char_append("journalctl --rotate; journalctl --vacuum-time=",new_time)
#define group_list_path "/etc/group" #define group_list_path "/etc/group"
#define edit_icon_name "document-edit-symbolic" #define edit_icon_name "document-edit-symbolic"
@ -144,8 +147,7 @@ typedef struct {
GtkWidget *Notebook; GtkWidget *Notebook;
GtkWidget *ServicesTree; GtkWidget *ServicesTree;
GtkWidget *ServicesEditButton; GtkWidget *ServicesEditButton;
GtkWidget *ServicesStartStopButton; GtkWidget *ServicesControlButton;
GtkWidget *ServicesEnableDisableButton;
GtkListStore *list; GtkListStore *list;
GtkListStore *ServicesList; GtkListStore *ServicesList;
GtkWidget *UpgradePermissionsMenuItem; GtkWidget *UpgradePermissionsMenuItem;
@ -194,6 +196,7 @@ typedef struct {
typedef struct { typedef struct {
GtkWidget *MainWindow; GtkWidget *MainWindow;
GtkWidget *TitleLabel;
GtkWidget *plugBox; GtkWidget *plugBox;
GtkWidget *ShowSinceBootButton; GtkWidget *ShowSinceBootButton;
GtkWidget *NewMessagesButton; GtkWidget *NewMessagesButton;
@ -257,6 +260,7 @@ typedef struct {
typedef struct { typedef struct {
GtkWidget *MainWindow; GtkWidget *MainWindow;
GtkWidget *StatusBox;
GtkWidget *CancelButton; GtkWidget *CancelButton;
GtkWidget *SaveButton; GtkWidget *SaveButton;
GtkWidget *ResetButton; GtkWidget *ResetButton;
@ -291,6 +295,8 @@ typedef struct {
GtkWidget *LowerTimeCombo; GtkWidget *LowerTimeCombo;
GtkWidget *LowerTimeButton; GtkWidget *LowerTimeButton;
GtkWidget *headerTopic; GtkWidget *headerTopic;
char *paths;
} journald_window; } journald_window;
typedef struct { typedef struct {
@ -433,6 +439,8 @@ void on_logrotate_tab_open(GtkWidget *self, main_window *widgets);
void yon_combo_compress_check(GtkComboBox *self, journald_window *window); void yon_combo_compress_check(GtkComboBox *self, journald_window *window);
void on_journald_reset(GtkWidget *self, journald_window *window); void on_journald_reset(GtkWidget *self, journald_window *window);
void on_journald_save(GtkWidget *self, journald_window *window); void on_journald_save(GtkWidget *self, journald_window *window);
void on_journald_size_lower_size(GtkWidget *, journald_window *window);
void on_journald_size_lower_time(GtkWidget *, journald_window *window);
journald_window *yon_journald_open(GtkWidget *self, main_window *widgets); journald_window *yon_journald_open(GtkWidget *self, main_window *widgets);
void on_journald_open(GtkWidget *self, main_window *widgets); void on_journald_open(GtkWidget *self, main_window *widgets);
void on_log_save(GtkWidget *self, dictionary *dict); void on_log_save(GtkWidget *self, dictionary *dict);
@ -459,4 +467,6 @@ void on_logrotate_apps_configure_activate(GtkWidget *, GtkTreePath*, GtkTreeView
void on_logrotate_edit_activate(GtkWidget*,GtkTreePath*,GtkTreeViewColumn*, logrotate_window *window); void on_logrotate_edit_activate(GtkWidget*,GtkTreePath*,GtkTreeViewColumn*, logrotate_window *window);
void on_logrotate_closed(GtkWidget *,logrotate_window *window); void on_logrotate_closed(GtkWidget *,logrotate_window *window);
void on_rules_changed(GtkEditable *editable, const gchar *text, gint length, gint *position); void on_rules_changed(GtkEditable *editable, const gchar *text, gint length, gint *position);
void on_service_manage(GtkWidget *,main_window *widgets);
void yon_journald_size_update(journald_window *window);
int main(int argc, char *argv[]); int main(int argc, char *argv[]);

@ -44,9 +44,10 @@
#define XORG_DESCRIPTION_LABEL _("X.org display server log") #define XORG_DESCRIPTION_LABEL _("X.org display server log")
#define XSESSION_DESCRIPTION_LABEL _("Graphics X session log") #define XSESSION_DESCRIPTION_LABEL _("Graphics X session log")
#define SAVE_LABEL _("Save") #define SAVE_LABEL _("Save")
#define SERVICE_MANAGEMENT_TOOLTIP _("Manage service")
//ubl-settings-logging-inspector.glade //ubl-settings-logging-inspector.glade
#define INSPECTOR_TITLE_LABEL _("Logs and events - log inspector") #define INSPECTOR_TITLE_LABEL(target) yon_char_unite(_("Inspect")," \"",target,"\"",NULL)
#define TOOLTIP_BOOT_LABEL _("Show messages since the current system boot") #define TOOLTIP_BOOT_LABEL _("Show messages since the current system boot")
#define TOOLTIP_FOLLOW_LABEL _("Follow for new messages") #define TOOLTIP_FOLLOW_LABEL _("Follow for new messages")
#define TOOLTIP_KERNEL_LABEL _("Show kernel ring buffer") #define TOOLTIP_KERNEL_LABEL _("Show kernel ring buffer")
@ -61,7 +62,7 @@
#define LOG_LABEL _("Log") #define LOG_LABEL _("Log")
//ubl-settings-logging-journald.glade //ubl-settings-logging-journald.glade
#define JOURNALD_TITLE_LABEL _("Logs and events - journald configuration") #define JOURNALD_TITLE_LABEL _("Journald configuration")
#define JOURNAL_DESCRIPTION_LABEL _("Description:") #define JOURNAL_DESCRIPTION_LABEL _("Description:")
#define JOURNAL_STORAGE_LABEL _("Journal storage place:") #define JOURNAL_STORAGE_LABEL _("Journal storage place:")
#define COMPRESSION_LABEL _("Use compression:") #define COMPRESSION_LABEL _("Use compression:")
@ -99,7 +100,7 @@
#define RESET_LABEL _("Reset") #define RESET_LABEL _("Reset")
//ubl-settings-logging-logrotate.glade //ubl-settings-logging-logrotate.glade
#define LOGROTATE_TITLE_LABEL _("Logs and events - logrotate configuration") #define LOGROTATE_TITLE_LABEL _("Logrotate configuration")
#define LOGROTATE_LOG_JOURNAL_TAB_LABEL _("Log/Journal:") #define LOGROTATE_LOG_JOURNAL_TAB_LABEL _("Log/Journal:")
#define PATHS_LABEL _("Paths to log and journals files") #define PATHS_LABEL _("Paths to log and journals files")
#define ON_LABEL _("On") #define ON_LABEL _("On")
@ -178,7 +179,7 @@
#define COMMAND_INVALID_LABEL _("Command is invalid") #define COMMAND_INVALID_LABEL _("Command is invalid")
//ubl-settings-logging-logrotate-table.glade //ubl-settings-logging-logrotate-table.glade
#define TABLE_TITLE_LABEL _("Logs and events - logrotate table") #define TABLE_TITLE_LABEL _("Logrotate table")
#define SYSTEM_CONFIGURATION_LABEL _("System configuration") #define SYSTEM_CONFIGURATION_LABEL _("System configuration")
#define APPLITATIONS_CONFIGURATION_LABEL _("Applications configuration") #define APPLITATIONS_CONFIGURATION_LABEL _("Applications configuration")
#define IMPORT_CONFIGURATION_LABEL _("Import log configuration") #define IMPORT_CONFIGURATION_LABEL _("Import log configuration")
@ -187,7 +188,7 @@
#define CONFIGURE_CONFIGURATION_LABEL _("Configure log") #define CONFIGURE_CONFIGURATION_LABEL _("Configure log")
//ubl-settings-logging-add.glade //ubl-settings-logging-add.glade
#define MONITOR_TITLE_LABEL _("Logs and events - journal configuration") #define MONITOR_TITLE_LABEL _("Journal configuration")
#define ADD_PATHS_LABEL _("Path (-s):") #define ADD_PATHS_LABEL _("Path (-s):")
#define CONTROL_LABEL _("Control:") #define CONTROL_LABEL _("Control:")
#define LOG_FILE_LABEL _("Log file") #define LOG_FILE_LABEL _("Log file")
@ -196,7 +197,7 @@
#define NO_FILES_FOUND_LABEL _("Journal/log files were not found") #define NO_FILES_FOUND_LABEL _("Journal/log files were not found")
//ubl-settings-logging-rules.glade //ubl-settings-logging-rules.glade
#define RULES_TITLE_LABEL _("Logs and events - rules") #define RULES_TITLE_LABEL _("Rules")
#define OWNER_LABEL _("Owner rules") #define OWNER_LABEL _("Owner rules")
#define GROUP_LABEL _("Group rules") #define GROUP_LABEL _("Group rules")
#define PUBLIC_LABEL _("Public rules") #define PUBLIC_LABEL _("Public rules")
@ -211,8 +212,8 @@
#define OLD_VALUE_LABEL _("Old value") #define OLD_VALUE_LABEL _("Old value")
#define NEW_VALUE_LABEL _("New value") #define NEW_VALUE_LABEL _("New value")
#define FILECHOOSER_TITLE_LABEL _("Logs and events - choose a path") #define FILECHOOSER_TITLE_LABEL _("Choose a path")
#define SAVE_TITLE_LABEL _("Logs and events - saving") #define SAVE_TITLE_LABEL _("Saving")
#define AUTHTORIZED_LABEL _("Authorization has been elevated") #define AUTHTORIZED_LABEL _("Authorization has been elevated")
#define UNAUTHTORIZED_LABEL _("Authorization has been unelevated") #define UNAUTHTORIZED_LABEL _("Authorization has been unelevated")

@ -456,7 +456,7 @@
<property name="margin-start">5</property> <property name="margin-start">5</property>
<property name="margin-end">5</property> <property name="margin-end">5</property>
<property name="margin-bottom">2</property> <property name="margin-bottom">2</property>
<property name="label" translatable="yes">Logs and events - journal configuration</property> <property name="label" translatable="yes">Journal configuration</property>
<attributes> <attributes>
<attribute name="weight" value="bold"/> <attribute name="weight" value="bold"/>
</attributes> </attributes>

@ -373,7 +373,7 @@
<property name="margin-start">5</property> <property name="margin-start">5</property>
<property name="margin-end">5</property> <property name="margin-end">5</property>
<property name="margin-bottom">2</property> <property name="margin-bottom">2</property>
<property name="label" translatable="yes">Logs and events - log inspector</property> <property name="label" translatable="yes">Log inspector</property>
<attributes> <attributes>
<attribute name="weight" value="bold"/> <attribute name="weight" value="bold"/>
</attributes> </attributes>

@ -97,10 +97,24 @@
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="margin-start">5</property> <property name="margin-start">5</property>
<property name="margin-end">5</property> <property name="margin-end">5</property>
<property name="margin-top">5</property>
<property name="margin-bottom">5</property> <property name="margin-bottom">5</property>
<property name="orientation">vertical</property> <property name="orientation">vertical</property>
<property name="spacing">5</property> <property name="spacing">5</property>
<child>
<object class="GtkBox" id="StatusBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="orientation">vertical</property>
<child>
<placeholder/>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child> <child>
<object class="GtkBox"> <object class="GtkBox">
<property name="visible">True</property> <property name="visible">True</property>
@ -666,7 +680,7 @@
<property name="visible">True</property> <property name="visible">True</property>
<property name="sensitive">False</property> <property name="sensitive">False</property>
<property name="can-focus">True</property> <property name="can-focus">True</property>
<property name="placeholder-text" translatable="yes">0</property> <property name="placeholder-text" translatable="yes">/dev/console</property>
</object> </object>
<packing> <packing>
<property name="expand">False</property> <property name="expand">False</property>
@ -837,9 +851,9 @@
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="active">0</property> <property name="active">0</property>
<items> <items>
<item translatable="yes">Kb</item> <item id="K" translatable="yes">Kb</item>
<item translatable="yes">Mb</item> <item id="M" translatable="yes">Mb</item>
<item translatable="yes">Gb</item> <item id="G" translatable="yes">Gb</item>
</items> </items>
</object> </object>
<packing> <packing>
@ -905,11 +919,11 @@
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="active">0</property> <property name="active">0</property>
<items> <items>
<item translatable="yes">Minutes</item> <item id="minutes" translatable="yes">Minutes</item>
<item translatable="yes">Hours</item> <item id="hours" translatable="yes">Hours</item>
<item translatable="yes">Days</item> <item id="days" translatable="yes">Days</item>
<item translatable="yes">Weeks</item> <item id="weeks" translatable="yes">Weeks</item>
<item translatable="yes">Years</item> <item id="years" translatable="yes">Years</item>
</items> </items>
</object> </object>
<packing> <packing>
@ -961,7 +975,7 @@
<packing> <packing>
<property name="expand">False</property> <property name="expand">False</property>
<property name="fill">True</property> <property name="fill">True</property>
<property name="position">0</property> <property name="position">1</property>
</packing> </packing>
</child> </child>
</object> </object>
@ -970,7 +984,6 @@
<object class="GtkHeaderBar"> <object class="GtkHeaderBar">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="show-close-button">True</property>
<child type="title"> <child type="title">
<object class="GtkLabel" id="headerTopic"> <object class="GtkLabel" id="headerTopic">
<property name="visible">True</property> <property name="visible">True</property>
@ -980,7 +993,7 @@
<property name="margin-start">5</property> <property name="margin-start">5</property>
<property name="margin-end">5</property> <property name="margin-end">5</property>
<property name="margin-bottom">2</property> <property name="margin-bottom">2</property>
<property name="label" translatable="yes">Logs and events - journald configuration</property> <property name="label" translatable="yes">Journald configuration</property>
<attributes> <attributes>
<attribute name="weight" value="bold"/> <attribute name="weight" value="bold"/>
</attributes> </attributes>

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.40.0 --> <!-- Generated with glade 3.38.2 -->
<interface domain="ubl-settings-logging"> <interface domain="ubl-settings-logging">
<requires lib="gtk+" version="3.24"/> <requires lib="gtk+" version="3.24"/>
<!-- interface-css-provider-path ubl-settings-logging.css --> <!-- interface-css-provider-path ubl-settings-logging.css -->
@ -2108,7 +2108,7 @@
<property name="margin-start">5</property> <property name="margin-start">5</property>
<property name="margin-end">5</property> <property name="margin-end">5</property>
<property name="margin-bottom">2</property> <property name="margin-bottom">2</property>
<property name="label" translatable="yes">Logs and events - logrotate configuration</property> <property name="label" translatable="yes">Logrotate configuration</property>
<attributes> <attributes>
<attribute name="weight" value="bold"/> <attribute name="weight" value="bold"/>
</attributes> </attributes>

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.40.0 --> <!-- Generated with glade 3.38.2 -->
<interface domain="ubl-settings-logging"> <interface domain="ubl-settings-logging">
<requires lib="gtk+" version="3.24"/> <requires lib="gtk+" version="3.24"/>
<!-- interface-css-provider-path ubl-settings-logging.css --> <!-- interface-css-provider-path ubl-settings-logging.css -->
@ -367,7 +367,7 @@
<property name="margin-start">5</property> <property name="margin-start">5</property>
<property name="margin-end">5</property> <property name="margin-end">5</property>
<property name="margin-bottom">2</property> <property name="margin-bottom">2</property>
<property name="label" translatable="yes">Logs and events - rules</property> <property name="label" translatable="yes">Rules</property>
<attributes> <attributes>
<attribute name="weight" value="bold"/> <attribute name="weight" value="bold"/>
</attributes> </attributes>

@ -47,9 +47,15 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
<column type="gchararray"/> <column type="gchararray"/>
<!-- column-name StopCommand --> <!-- column-name StopCommand -->
<column type="gchararray"/> <column type="gchararray"/>
<!-- column-name LaunchCommand --> <!-- column-name EnableCommand -->
<column type="gchararray"/> <column type="gchararray"/>
<!-- column-name PauseCommand --> <!-- column-name DisableCommand -->
<column type="gchararray"/>
<!-- column-name StatusCommand -->
<column type="gchararray"/>
<!-- column-name CheckActiveCommand -->
<column type="gchararray"/>
<!-- column-name CheckEnableComand -->
<column type="gchararray"/> <column type="gchararray"/>
</columns> </columns>
</object> </object>
@ -77,15 +83,10 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="icon-name">com.ublinux.ubl-settings-logging.trash-symbolic</property> <property name="icon-name">com.ublinux.ubl-settings-logging.trash-symbolic</property>
</object> </object>
<object class="GtkImage" id="image5">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="icon-name">com.ublinux.ubl-settings-logging.play-symbolic</property>
</object>
<object class="GtkImage" id="image6"> <object class="GtkImage" id="image6">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="icon-name">com.ublinux.ubl-settings-logging.check-symbolic</property> <property name="icon-name">com.ublinux.libublsettingsui-gtk3.play-symbolic</property>
</object> </object>
<object class="GtkImage" id="image7"> <object class="GtkImage" id="image7">
<property name="visible">True</property> <property name="visible">True</property>
@ -229,6 +230,9 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
<property name="can-focus">True</property> <property name="can-focus">True</property>
<property name="model">liststore1</property> <property name="model">liststore1</property>
<property name="tooltip-column">2</property> <property name="tooltip-column">2</property>
<child internal-child="selection">
<object class="GtkTreeSelection"/>
</child>
<child> <child>
<object class="GtkTreeViewColumn"> <object class="GtkTreeViewColumn">
<property name="resizable">True</property> <property name="resizable">True</property>
@ -320,30 +324,12 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
<property name="orientation">vertical</property> <property name="orientation">vertical</property>
<property name="spacing">5</property> <property name="spacing">5</property>
<child> <child>
<object class="GtkButton" id="ServicesStartStopButton"> <object class="GtkButton" id="ServicesControlButton">
<property name="visible">True</property> <property name="visible">True</property>
<property name="sensitive">False</property> <property name="sensitive">False</property>
<property name="can-focus">True</property> <property name="can-focus">True</property>
<property name="receives-default">True</property> <property name="receives-default">True</property>
<property name="tooltip-text" translatable="yes">Start service</property> <property name="tooltip-text" translatable="yes">Manage service</property>
<property name="image">image5</property>
<style>
<class name="thin"/>
</style>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkButton" id="ServicesEnableDisableButton">
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="tooltip-text" translatable="yes">Switch autostart on</property>
<property name="image">image6</property> <property name="image">image6</property>
<style> <style>
<class name="thin"/> <class name="thin"/>
@ -390,6 +376,9 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">True</property> <property name="can-focus">True</property>
<property name="model">ServicesList</property> <property name="model">ServicesList</property>
<child internal-child="selection">
<object class="GtkTreeSelection"/>
</child>
<child> <child>
<object class="GtkTreeViewColumn"> <object class="GtkTreeViewColumn">
<property name="sizing">fixed</property> <property name="sizing">fixed</property>

@ -73,7 +73,7 @@ msgstr ""
msgid "Inspect log" msgid "Inspect log"
msgstr "" msgstr ""
#: source/ubl-strings.h:22 source/ubl-strings.h:186 #: source/ubl-strings.h:22 source/ubl-strings.h:188
msgid "Configure log" msgid "Configure log"
msgstr "" msgstr ""
@ -169,619 +169,616 @@ msgstr ""
msgid "Graphics X session log" msgid "Graphics X session log"
msgstr "" msgstr ""
#: source/ubl-strings.h:48 #: source/ubl-strings.h:46
msgid "Logs and events - log inspector" msgid "Save"
msgstr "" msgstr ""
#: source/ubl-strings.h:49 #: source/ubl-strings.h:47
msgid "Show messages since the current system boot" msgid "Manage service"
msgstr "" msgstr ""
#: source/ubl-strings.h:50 #: source/ubl-strings.h:50
msgid "Follow for new messages" msgid "Inspect"
msgstr "" msgstr ""
#: source/ubl-strings.h:51 #: source/ubl-strings.h:51
msgid "Show kernel ring buffer" msgid "Show messages since the current system boot"
msgstr "" msgstr ""
#: source/ubl-strings.h:52 #: source/ubl-strings.h:52
msgid "Show only priority error messages, critical messages and warnings" msgid "Follow for new messages"
msgstr "" msgstr ""
#: source/ubl-strings.h:53 #: source/ubl-strings.h:53
msgid "Show all boots" msgid "Show kernel ring buffer"
msgstr "" msgstr ""
#: source/ubl-strings.h:54 #: source/ubl-strings.h:54
msgid "Show a list of all units, ordered by the time of their initialisation" msgid "Show only priority error messages, critical messages and warnings"
msgstr "" msgstr ""
#: source/ubl-strings.h:55 #: source/ubl-strings.h:55
msgid "Show tree of time-critical initialization unit chain" msgid "Show all boots"
msgstr "" msgstr ""
#: source/ubl-strings.h:56 #: source/ubl-strings.h:56
msgid "Update" msgid "Show a list of all units, ordered by the time of their initialisation"
msgstr "" msgstr ""
#: source/ubl-strings.h:57 #: source/ubl-strings.h:57
msgid "Date" msgid "Show tree of time-critical initialization unit chain"
msgstr "" msgstr ""
#: source/ubl-strings.h:58 #: source/ubl-strings.h:58
msgid "Hostname" msgid "Update"
msgstr "" msgstr ""
#: source/ubl-strings.h:59 #: source/ubl-strings.h:59
msgid "Process" msgid "Date"
msgstr "" msgstr ""
#: source/ubl-strings.h:60 #: source/ubl-strings.h:60
msgid "Hostname"
msgstr ""
#: source/ubl-strings.h:61
msgid "Process"
msgstr ""
#: source/ubl-strings.h:62
msgid "Log" msgid "Log"
msgstr "" msgstr ""
#: source/ubl-strings.h:63 #: source/ubl-strings.h:65
msgid "Logs and events - journald configuration" msgid "Journald configuration"
msgstr "" msgstr ""
#: source/ubl-strings.h:64 #: source/ubl-strings.h:66
msgid "Description:" msgid "Description:"
msgstr "" msgstr ""
#: source/ubl-strings.h:65 #: source/ubl-strings.h:67
msgid "Journal storage place:" msgid "Journal storage place:"
msgstr "" msgstr ""
#: source/ubl-strings.h:66 source/ubl-strings.h:67 #: source/ubl-strings.h:68 source/ubl-strings.h:69
msgid "Use compression:" msgid "Use compression:"
msgstr "" msgstr ""
#: source/ubl-strings.h:68 #: source/ubl-strings.h:70
msgid "Split journal files:" msgid "Split journal files:"
msgstr "" msgstr ""
#: source/ubl-strings.h:69 #: source/ubl-strings.h:71
msgid "Log recording journal interval:" msgid "Log recording journal interval:"
msgstr "" msgstr ""
#: source/ubl-strings.h:70 #: source/ubl-strings.h:72
msgid "Records amount:" msgid "Records amount:"
msgstr "" msgstr ""
#: source/ubl-strings.h:71 #: source/ubl-strings.h:73
msgid "Maximum size of all logs:" msgid "Maximum size of all logs:"
msgstr "" msgstr ""
#: source/ubl-strings.h:72 #: source/ubl-strings.h:74
msgid "Maximum size of rotation journal:" msgid "Maximum size of rotation journal:"
msgstr "" msgstr ""
#: source/ubl-strings.h:73 #: source/ubl-strings.h:75
msgid "Leave free space at storage:" msgid "Leave free space at storage:"
msgstr "" msgstr ""
#: source/ubl-strings.h:74 #: source/ubl-strings.h:76
msgid "Redirect to console:" msgid "Redirect to console:"
msgstr "" msgstr ""
#: source/ubl-strings.h:75 #: source/ubl-strings.h:77
msgid "TTY:" msgid "TTY:"
msgstr "" msgstr ""
#: source/ubl-strings.h:76 #: source/ubl-strings.h:78
msgid "Type of forwarded messages:" msgid "Type of forwarded messages:"
msgstr "" msgstr ""
#: source/ubl-strings.h:77 #: source/ubl-strings.h:79
msgid "Journal configuration" msgid "Journal configuration"
msgstr "" msgstr ""
#: source/ubl-strings.h:78 #: source/ubl-strings.h:80
msgid "Total log size:" msgid "Total log size:"
msgstr "" msgstr ""
#: source/ubl-strings.h:79 #: source/ubl-strings.h:81
msgid "Lower size to:" msgid "Lower size to:"
msgstr "" msgstr ""
#: source/ubl-strings.h:80 #: source/ubl-strings.h:82
msgid "Apply" msgid "Apply"
msgstr "" msgstr ""
#: source/ubl-strings.h:81 #: source/ubl-strings.h:83
msgid "Statistics" msgid "Statistics"
msgstr "" msgstr ""
#: source/ubl-strings.h:82 #: source/ubl-strings.h:84
msgid "Default" msgid "Default"
msgstr "" msgstr ""
#: source/ubl-strings.h:83 #: source/ubl-strings.h:85
msgid "RAM" msgid "RAM"
msgstr "" msgstr ""
#: source/ubl-strings.h:84 #: source/ubl-strings.h:86
msgid "Drive" msgid "Drive"
msgstr "" msgstr ""
#: source/ubl-strings.h:85 #: source/ubl-strings.h:87
msgid "Auto" msgid "Auto"
msgstr "" msgstr ""
#: source/ubl-strings.h:86 #: source/ubl-strings.h:88
msgid "None" msgid "None"
msgstr "" msgstr ""
#: source/ubl-strings.h:87 #: source/ubl-strings.h:89
msgid "Yes" msgid "Yes"
msgstr "" msgstr ""
#: source/ubl-strings.h:88 #: source/ubl-strings.h:90
msgid "No" msgid "No"
msgstr "" msgstr ""
#: source/ubl-strings.h:89 #: source/ubl-strings.h:91
msgid "After" msgid "After"
msgstr "" msgstr ""
#: source/ubl-strings.h:90 #: source/ubl-strings.h:92
msgid "Kb" msgid "Kb"
msgstr "" msgstr ""
#: source/ubl-strings.h:91 #: source/ubl-strings.h:93
msgid "Mb" msgid "Mb"
msgstr "" msgstr ""
#: source/ubl-strings.h:92 #: source/ubl-strings.h:94
msgid "Gb" msgid "Gb"
msgstr "" msgstr ""
#: source/ubl-strings.h:93 #: source/ubl-strings.h:95
msgid "Minutes" msgid "Minutes"
msgstr "" msgstr ""
#: source/ubl-strings.h:94 #: source/ubl-strings.h:96
msgid "Hours" msgid "Hours"
msgstr "" msgstr ""
#: source/ubl-strings.h:95 #: source/ubl-strings.h:97
msgid "Days" msgid "Days"
msgstr "" msgstr ""
#: source/ubl-strings.h:96 #: source/ubl-strings.h:98
msgid "Weeks" msgid "Weeks"
msgstr "" msgstr ""
#: source/ubl-strings.h:97 #: source/ubl-strings.h:99
msgid "Years" msgid "Years"
msgstr "" msgstr ""
#: source/ubl-strings.h:98 #: source/ubl-strings.h:100
msgid "Reset" msgid "Reset"
msgstr "" msgstr ""
#: source/ubl-strings.h:101 #: source/ubl-strings.h:103
msgid "Logs and events - logrotate configuration" msgid "Logrotate configuration"
msgstr "" msgstr ""
#: source/ubl-strings.h:102 #: source/ubl-strings.h:104
msgid "Log/Journal:" msgid "Log/Journal:"
msgstr "" msgstr ""
#: source/ubl-strings.h:103 #: source/ubl-strings.h:105
msgid "Paths to log and journals files" msgid "Paths to log and journals files"
msgstr "" msgstr ""
#: source/ubl-strings.h:104 #: source/ubl-strings.h:106
msgid "On" msgid "On"
msgstr "" msgstr ""
#: source/ubl-strings.h:105 #: source/ubl-strings.h:107
msgid "Off" msgid "Off"
msgstr "" msgstr ""
#: source/ubl-strings.h:106 source/ubl-strings.h:160 #: source/ubl-strings.h:108 source/ubl-strings.h:162
msgid "Scenarios" msgid "Scenarios"
msgstr "" msgstr ""
#: source/ubl-strings.h:107 source/ubl-strings.h:159 #: source/ubl-strings.h:109 source/ubl-strings.h:161
msgid "Scenarios are running for each rotated journal" msgid "Scenarios are running for each rotated journal"
msgstr "" msgstr ""
#: source/ubl-strings.h:108 #: source/ubl-strings.h:110
msgid "Command before rotation (one time):" msgid "Command before rotation (one time):"
msgstr "" msgstr ""
#: source/ubl-strings.h:109 #: source/ubl-strings.h:111
msgid "Command after rotation (one time):" msgid "Command after rotation (one time):"
msgstr "" msgstr ""
#: source/ubl-strings.h:110 #: source/ubl-strings.h:112
msgid "Command before rotation:" msgid "Command before rotation:"
msgstr "" msgstr ""
#: source/ubl-strings.h:111 #: source/ubl-strings.h:113
msgid "Command after rotation:" msgid "Command after rotation:"
msgstr "" msgstr ""
#: source/ubl-strings.h:112 #: source/ubl-strings.h:114
msgid "Rotation period:" msgid "Rotation period:"
msgstr "" msgstr ""
#: source/ubl-strings.h:113 #: source/ubl-strings.h:115
msgid "Maximum size of file:" msgid "Maximum size of file:"
msgstr "" msgstr ""
#: source/ubl-strings.h:114 #: source/ubl-strings.h:116
msgid "Checking frequency configuration" msgid "Checking frequency configuration"
msgstr "" msgstr ""
#: source/ubl-strings.h:115 #: source/ubl-strings.h:117
msgid "File amount:" msgid "File amount:"
msgstr "" msgstr ""
#: source/ubl-strings.h:116 #: source/ubl-strings.h:118
msgid "Store at:" msgid "Store at:"
msgstr "" msgstr ""
#: source/ubl-strings.h:117 #: source/ubl-strings.h:119
msgid "Rotation as user:" msgid "Rotation as user:"
msgstr "" msgstr ""
#: source/ubl-strings.h:118 #: source/ubl-strings.h:120
msgid "Rotation as group:" msgid "Rotation as group:"
msgstr "" msgstr ""
#: source/ubl-strings.h:119 #: source/ubl-strings.h:121
msgid "Rotation configuration" msgid "Rotation configuration"
msgstr "" msgstr ""
#: source/ubl-strings.h:120 #: source/ubl-strings.h:122
msgid "Error processing:" msgid "Error processing:"
msgstr "" msgstr ""
#: source/ubl-strings.h:121 #: source/ubl-strings.h:123
msgid "Rotation of jurnal even when it is empty:" msgid "Rotation of jurnal even when it is empty:"
msgstr "" msgstr ""
#: source/ubl-strings.h:122 #: source/ubl-strings.h:124
msgid "Do not rotate journal younger than" msgid "Do not rotate journal younger than"
msgstr "" msgstr ""
#: source/ubl-strings.h:123 #: source/ubl-strings.h:125
msgid "days" msgid "days"
msgstr "" msgstr ""
#: source/ubl-strings.h:124 #: source/ubl-strings.h:126
msgid "Delete rotated journals older than" msgid "Delete rotated journals older than"
msgstr "" msgstr ""
#: source/ubl-strings.h:125 #: source/ubl-strings.h:127
msgid "Rotate journals if size more than" msgid "Rotate journals if size more than"
msgstr "" msgstr ""
#: source/ubl-strings.h:126 #: source/ubl-strings.h:128
msgid "but not earlier than the specified time interval" msgid "but not earlier than the specified time interval"
msgstr "" msgstr ""
#: source/ubl-strings.h:127 #: source/ubl-strings.h:129
msgid "before specified time interval" msgid "before specified time interval"
msgstr "" msgstr ""
#: source/ubl-strings.h:128 #: source/ubl-strings.h:130
msgid "File choosing configuration" msgid "File choosing configuration"
msgstr "" msgstr ""
#: source/ubl-strings.h:129 #: source/ubl-strings.h:131
msgid "Create log" msgid "Create log"
msgstr "" msgstr ""
#: source/ubl-strings.h:130 #: source/ubl-strings.h:132
msgid "as user:" msgid "as user:"
msgstr "" msgstr ""
#: source/ubl-strings.h:131 #: source/ubl-strings.h:133
msgid "as group:" msgid "as group:"
msgstr "" msgstr ""
#: source/ubl-strings.h:132 #: source/ubl-strings.h:134
msgid "rules:" msgid "rules:"
msgstr "" msgstr ""
#: source/ubl-strings.h:133 #: source/ubl-strings.h:135
msgid "" msgid ""
"Cut source journal fileafter copy creating instead of moving old journal " "Cut source journal fileafter copy creating instead of moving old journal "
"file and creating new one" "file and creating new one"
msgstr "" msgstr ""
#: source/ubl-strings.h:134 #: source/ubl-strings.h:136
msgid "Files and directories configuration" msgid "Files and directories configuration"
msgstr "" msgstr ""
#: source/ubl-strings.h:135 #: source/ubl-strings.h:137
msgid "Delay compression by one journal in queue:" msgid "Delay compression by one journal in queue:"
msgstr "" msgstr ""
#: source/ubl-strings.h:136 #: source/ubl-strings.h:138
msgid "Compression configuration" msgid "Compression configuration"
msgstr "" msgstr ""
#: source/ubl-strings.h:137 #: source/ubl-strings.h:139
msgid "Save original log file after rotation if it has specified extension:" msgid "Save original log file after rotation if it has specified extension:"
msgstr "" msgstr ""
#: source/ubl-strings.h:138 #: source/ubl-strings.h:140
msgid "Add date of rotation before log header" msgid "Add date of rotation before log header"
msgstr "" msgstr ""
#: source/ubl-strings.h:139 #: source/ubl-strings.h:141
msgid "Number from which numbering of old logs will begin" msgid "Number from which numbering of old logs will begin"
msgstr "" msgstr ""
#: source/ubl-strings.h:140 #: source/ubl-strings.h:142
msgid "Filename configuration" msgid "Filename configuration"
msgstr "" msgstr ""
#: source/ubl-strings.h:141 #: source/ubl-strings.h:143
msgid "Email after rotation:" msgid "Email after rotation:"
msgstr "" msgstr ""
#: source/ubl-strings.h:142 #: source/ubl-strings.h:144
msgid "adress:" msgid "adress:"
msgstr "" msgstr ""
#: source/ubl-strings.h:143 #: source/ubl-strings.h:145
msgid "contents:" msgid "contents:"
msgstr "" msgstr ""
#: source/ubl-strings.h:144 source/ubl-strings.h:157 #: source/ubl-strings.h:146 source/ubl-strings.h:159
msgid "Message configuration" msgid "Message configuration"
msgstr "" msgstr ""
#: source/ubl-strings.h:145 #: source/ubl-strings.h:147
msgid "Manual input:" msgid "Manual input:"
msgstr "" msgstr ""
#: source/ubl-strings.h:146 #: source/ubl-strings.h:148
msgid "Log (-s) size:" msgid "Log (-s) size:"
msgstr "" msgstr ""
#: source/ubl-strings.h:147 #: source/ubl-strings.h:149
msgid "Same directory" msgid "Same directory"
msgstr "" msgstr ""
#: source/ubl-strings.h:148 #: source/ubl-strings.h:150
msgid "Separate directory" msgid "Separate directory"
msgstr "" msgstr ""
#: source/ubl-strings.h:149 #: source/ubl-strings.h:151
msgid "Output errors if log file does not exist*" msgid "Output errors if log file does not exist*"
msgstr "" msgstr ""
#: source/ubl-strings.h:150 #: source/ubl-strings.h:152
msgid "Do not output errors if log file does not exist" msgid "Do not output errors if log file does not exist"
msgstr "" msgstr ""
#: source/ubl-strings.h:151 #: source/ubl-strings.h:153
msgid "Do not output" msgid "Do not output"
msgstr "" msgstr ""
#: source/ubl-strings.h:152 #: source/ubl-strings.h:154
msgid "Output errors" msgid "Output errors"
msgstr "" msgstr ""
#: source/ubl-strings.h:153 #: source/ubl-strings.h:155
msgid "Send Email" msgid "Send Email"
msgstr "" msgstr ""
#: source/ubl-strings.h:154 #: source/ubl-strings.h:156
msgid "Don't send Email" msgid "Don't send Email"
msgstr "" msgstr ""
#: source/ubl-strings.h:155 #: source/ubl-strings.h:157
msgid "First rotated copy" msgid "First rotated copy"
msgstr "" msgstr ""
#: source/ubl-strings.h:156 #: source/ubl-strings.h:158
msgid "Last rotated copy" msgid "Last rotated copy"
msgstr "" msgstr ""
#: source/ubl-strings.h:158 #: source/ubl-strings.h:160
msgid "Endwork command:" msgid "Endwork command:"
msgstr "" msgstr ""
#: source/ubl-strings.h:161 #: source/ubl-strings.h:163
msgid "Hourly" msgid "Hourly"
msgstr "" msgstr ""
#: source/ubl-strings.h:162 #: source/ubl-strings.h:164
msgid "Daily" msgid "Daily"
msgstr "" msgstr ""
#: source/ubl-strings.h:163 #: source/ubl-strings.h:165
msgid "Weekly*" msgid "Weekly*"
msgstr "" msgstr ""
#: source/ubl-strings.h:164 #: source/ubl-strings.h:166
msgid "Monthly" msgid "Monthly"
msgstr "" msgstr ""
#: source/ubl-strings.h:165 #: source/ubl-strings.h:167
msgid "Yearly" msgid "Yearly"
msgstr "" msgstr ""
#: source/ubl-strings.h:166 #: source/ubl-strings.h:168
msgid "Monday" msgid "Monday"
msgstr "" msgstr ""
#: source/ubl-strings.h:167 #: source/ubl-strings.h:169
msgid "Tuesday" msgid "Tuesday"
msgstr "" msgstr ""
#: source/ubl-strings.h:168 #: source/ubl-strings.h:170
msgid "Wednesday" msgid "Wednesday"
msgstr "" msgstr ""
#: source/ubl-strings.h:169 #: source/ubl-strings.h:171
msgid "Thursday" msgid "Thursday"
msgstr "" msgstr ""
#: source/ubl-strings.h:170 #: source/ubl-strings.h:172
msgid "Friday" msgid "Friday"
msgstr "" msgstr ""
#: source/ubl-strings.h:171 #: source/ubl-strings.h:173
msgid "Saturday" msgid "Saturday"
msgstr "" msgstr ""
#: source/ubl-strings.h:172 #: source/ubl-strings.h:174
msgid "Sunday*" msgid "Sunday*"
msgstr "" msgstr ""
#: source/ubl-strings.h:173 #: source/ubl-strings.h:175
msgid "Same record already exists" msgid "Same record already exists"
msgstr "" msgstr ""
#: source/ubl-strings.h:174 #: source/ubl-strings.h:176
msgid "Empty important field" msgid "Empty important field"
msgstr "" msgstr ""
#: source/ubl-strings.h:175 #: source/ubl-strings.h:177
msgid "Repeating paths" msgid "Repeating paths"
msgstr "" msgstr ""
#: source/ubl-strings.h:176 #: source/ubl-strings.h:178
msgid "Write down all important fields" msgid "Write down all important fields"
msgstr "" msgstr ""
#: source/ubl-strings.h:177 #: source/ubl-strings.h:179
msgid "Command is invalid" msgid "Command is invalid"
msgstr "" msgstr ""
#: source/ubl-strings.h:180 #: source/ubl-strings.h:182
msgid "Logs and events - logrotate table" msgid "Logrotate table"
msgstr "" msgstr ""
#: source/ubl-strings.h:181 #: source/ubl-strings.h:183
msgid "System configuration" msgid "System configuration"
msgstr "" msgstr ""
#: source/ubl-strings.h:182 #: source/ubl-strings.h:184
msgid "Applications configuration" msgid "Applications configuration"
msgstr "" msgstr ""
#: source/ubl-strings.h:183 #: source/ubl-strings.h:185
msgid "Import log configuration" msgid "Import log configuration"
msgstr "" msgstr ""
#: source/ubl-strings.h:184 #: source/ubl-strings.h:186
msgid "Add log configuration" msgid "Add log configuration"
msgstr "" msgstr ""
#: source/ubl-strings.h:185 #: source/ubl-strings.h:187
msgid "Remove log configuration" msgid "Remove log configuration"
msgstr "" msgstr ""
#: source/ubl-strings.h:189 #: source/ubl-strings.h:191
msgid "Logs and events - journal configuration" msgid "Journal configuration"
msgstr "" msgstr ""
#: source/ubl-strings.h:190 #: source/ubl-strings.h:192
msgid "Path (-s):" msgid "Path (-s):"
msgstr "" msgstr ""
#: source/ubl-strings.h:191 #: source/ubl-strings.h:193
msgid "Control:" msgid "Control:"
msgstr "" msgstr ""
#: source/ubl-strings.h:192 #: source/ubl-strings.h:194
msgid "Log file" msgid "Log file"
msgstr "" msgstr ""
#: source/ubl-strings.h:193 #: source/ubl-strings.h:195
msgid "Name:" msgid "Name:"
msgstr "" msgstr ""
#: source/ubl-strings.h:194 #: source/ubl-strings.h:196
msgid "Log size:" msgid "Log size:"
msgstr "" msgstr ""
#: source/ubl-strings.h:195 #: source/ubl-strings.h:197
msgid "Journal/log files were not found" msgid "Journal/log files were not found"
msgstr "" msgstr ""
#: source/ubl-strings.h:198 #: source/ubl-strings.h:200
msgid "Logs and events - rules" msgid "Rules"
msgstr "" msgstr ""
#: source/ubl-strings.h:199 #: source/ubl-strings.h:201
msgid "Owner rules" msgid "Owner rules"
msgstr "" msgstr ""
#: source/ubl-strings.h:200 #: source/ubl-strings.h:202
msgid "Group rules" msgid "Group rules"
msgstr "" msgstr ""
#: source/ubl-strings.h:201 #: source/ubl-strings.h:203
msgid "Public rules" msgid "Public rules"
msgstr "" msgstr ""
#: source/ubl-strings.h:202 #: source/ubl-strings.h:204
msgid "Read" msgid "Read"
msgstr "" msgstr ""
#: source/ubl-strings.h:203 #: source/ubl-strings.h:205
msgid "Write" msgid "Write"
msgstr "" msgstr ""
#: source/ubl-strings.h:204 #: source/ubl-strings.h:206
msgid "Execute" msgid "Execute"
msgstr "" msgstr ""
#: source/ubl-strings.h:205 #: source/ubl-strings.h:207
msgid "Value:" msgid "Value:"
msgstr "" msgstr ""
#: source/ubl-strings.h:208 #: source/ubl-strings.h:210
msgid ": no such file(s)" msgid ": no such file(s)"
msgstr "" msgstr ""
#: source/ubl-strings.h:209 #: source/ubl-strings.h:211
msgid "Parameter" msgid "Parameter"
msgstr "" msgstr ""
#: source/ubl-strings.h:210 #: source/ubl-strings.h:212
msgid "Old value" msgid "Old value"
msgstr "" msgstr ""
#: source/ubl-strings.h:211 #: source/ubl-strings.h:213
msgid "New value" msgid "New value"
msgstr "" msgstr ""
#: source/ubl-strings.h:213 #: source/ubl-strings.h:215
msgid "Logs and events - choose a path" msgid "Choose a path"
msgstr "" msgstr ""
#: source/ubl-strings.h:214 #: source/ubl-strings.h:216
msgid "Logs and events - saving" msgid "Saving"
msgstr "" msgstr ""
#: source/ubl-strings.h:216 #: source/ubl-strings.h:218
msgid "Authorization has been elevated" msgid "Authorization has been elevated"
msgstr "" msgstr ""
#: source/ubl-strings.h:217 #: source/ubl-strings.h:219
msgid "Authorization has been unelevated" msgid "Authorization has been unelevated"
msgstr "" msgstr ""
msgid "System event log rotation service"
msgstr ""
msgid ""
"Service for collecting messages from system events of active network "
"devices"
msgstr ""
msgid "Save"
msgstr ""

@ -74,7 +74,7 @@ msgstr "Описание"
msgid "Inspect log" msgid "Inspect log"
msgstr "Просмотреть лог" msgstr "Просмотреть лог"
#: source/ubl-strings.h:22 source/ubl-strings.h:186 #: source/ubl-strings.h:22 source/ubl-strings.h:188
msgid "Configure log" msgid "Configure log"
msgstr "Настроить лог" msgstr "Настроить лог"
@ -170,331 +170,339 @@ msgstr "Журнал работы дисплейного сервера X.org"
msgid "Graphics X session log" msgid "Graphics X session log"
msgstr "Журнал сеансов графической системы X" msgstr "Журнал сеансов графической системы X"
#: source/ubl-strings.h:48 #: source/ubl-strings.h:46
msgid "Logs and events - log inspector" msgid "Save"
msgstr "Логи и журналы событий - просмотр журнала" msgstr "Сохранить"
#: source/ubl-strings.h:47
msgid "Manage service"
msgstr "Настроить службу"
#: source/ubl-strings.h:50
msgid "Inspect"
msgstr "Просмотр"
#: source/ubl-strings.h:49 #: source/ubl-strings.h:51
msgid "Show messages since the current system boot" msgid "Show messages since the current system boot"
msgstr "Показать сообщения с момента загрузки системы" msgstr "Показать сообщения с момента загрузки системы"
#: source/ubl-strings.h:50 #: source/ubl-strings.h:52
msgid "Follow for new messages" msgid "Follow for new messages"
msgstr "Следить за появлением новых сообщений" msgstr "Следить за появлением новых сообщений"
#: source/ubl-strings.h:51 #: source/ubl-strings.h:53
msgid "Show kernel ring buffer" msgid "Show kernel ring buffer"
msgstr "Показать кольцевой буфер ядра" msgstr "Показать кольцевой буфер ядра"
#: source/ubl-strings.h:52 #: source/ubl-strings.h:54
msgid "Show only priority error messages, critical messages and warnings" msgid "Show only priority error messages, critical messages and warnings"
msgstr "" msgstr ""
"Показать только приоритетные сообщения об ошибках, критических сообщениях и " "Показать только приоритетные сообщения об ошибках, критических сообщениях и "
"предупреждениях" "предупреждениях"
#: source/ubl-strings.h:53 #: source/ubl-strings.h:55
msgid "Show all boots" msgid "Show all boots"
msgstr "Показать все загрузки в журнале" msgstr "Показать все загрузки в журнале"
#: source/ubl-strings.h:54 #: source/ubl-strings.h:56
msgid "Show a list of all units, ordered by the time of their initialisation" msgid "Show a list of all units, ordered by the time of their initialisation"
msgstr "" msgstr ""
"Показать список всех работающих юнитов, упорядоченных по времени их " "Показать список всех работающих юнитов, упорядоченных по времени их "
"инициализации" "инициализации"
#: source/ubl-strings.h:55 #: source/ubl-strings.h:57
msgid "Show tree of time-critical initialization unit chain" msgid "Show tree of time-critical initialization unit chain"
msgstr "Показать дерево критической по времени цепочки юнитов инициализации" msgstr "Показать дерево критической по времени цепочки юнитов инициализации"
#: source/ubl-strings.h:56 #: source/ubl-strings.h:58
msgid "Update" msgid "Update"
msgstr "Обновить" msgstr "Обновить"
#: source/ubl-strings.h:57 #: source/ubl-strings.h:59
msgid "Date" msgid "Date"
msgstr "Дата" msgstr "Дата"
#: source/ubl-strings.h:58 #: source/ubl-strings.h:60
msgid "Hostname" msgid "Hostname"
msgstr "Имя хоста" msgstr "Имя хоста"
#: source/ubl-strings.h:59 #: source/ubl-strings.h:61
msgid "Process" msgid "Process"
msgstr "Процесс" msgstr "Процесс"
#: source/ubl-strings.h:60 #: source/ubl-strings.h:62
msgid "Log" msgid "Log"
msgstr "Запись лога" msgstr "Запись лога"
#: source/ubl-strings.h:63 #: source/ubl-strings.h:65
msgid "Logs and events - journald configuration" msgid "Journald configuration"
msgstr "Логи и журналы событий - конфигурация сервиса journald" msgstr "Конфигурация сервиса journald"
#: source/ubl-strings.h:64 #: source/ubl-strings.h:66
msgid "Description:" msgid "Description:"
msgstr "Описание:" msgstr "Описание:"
#: source/ubl-strings.h:65 #: source/ubl-strings.h:67
msgid "Journal storage place:" msgid "Journal storage place:"
msgstr "Место хранения журнала:" msgstr "Место хранения журнала:"
#: source/ubl-strings.h:66 source/ubl-strings.h:67 #: source/ubl-strings.h:68 source/ubl-strings.h:69
msgid "Use compression:" msgid "Use compression:"
msgstr "Использовать сжатие:" msgstr "Использовать сжатие:"
#: source/ubl-strings.h:68 #: source/ubl-strings.h:70
msgid "Split journal files:" msgid "Split journal files:"
msgstr "Разделять файлы журнала:" msgstr "Разделять файлы журнала:"
#: source/ubl-strings.h:69 #: source/ubl-strings.h:71
msgid "Log recording journal interval:" msgid "Log recording journal interval:"
msgstr "Интервал записи журнала:" msgstr "Интервал записи журнала:"
#: source/ubl-strings.h:70 #: source/ubl-strings.h:72
msgid "Records amount:" msgid "Records amount:"
msgstr "Количество записей:" msgstr "Количество записей:"
#: source/ubl-strings.h:71 #: source/ubl-strings.h:73
msgid "Maximum size of all logs:" msgid "Maximum size of all logs:"
msgstr "Максимальный размер всех журналов:" msgstr "Максимальный размер всех журналов:"
#: source/ubl-strings.h:72 #: source/ubl-strings.h:74
msgid "Maximum size of rotation journal:" msgid "Maximum size of rotation journal:"
msgstr "Максимальный размер журнала для ротации:" msgstr "Максимальный размер журнала для ротации:"
#: source/ubl-strings.h:73 #: source/ubl-strings.h:75
msgid "Leave free space at storage:" msgid "Leave free space at storage:"
msgstr "Оставлять в хранилище свободным:" msgstr "Оставлять в хранилище свободным:"
#: source/ubl-strings.h:74 #: source/ubl-strings.h:76
msgid "Redirect to console:" msgid "Redirect to console:"
msgstr "Перенаправление в консоль:" msgstr "Перенаправление в консоль:"
#: source/ubl-strings.h:75 #: source/ubl-strings.h:77
msgid "TTY:" msgid "TTY:"
msgstr "TTY:" msgstr "TTY:"
#: source/ubl-strings.h:76 #: source/ubl-strings.h:78
msgid "Type of forwarded messages:" msgid "Type of forwarded messages:"
msgstr "Тип перенаправляемых сообщений:" msgstr "Тип перенаправляемых сообщений:"
#: source/ubl-strings.h:77 #: source/ubl-strings.h:79
msgid "Journal configuration" msgid "Journal configuration"
msgstr "Настройка файла журнала" msgstr "Настройка файла журнала"
#: source/ubl-strings.h:78 #: source/ubl-strings.h:80
msgid "Total log size:" msgid "Total log size:"
msgstr "Общий размер журналов:" msgstr "Общий размер журналов:"
#: source/ubl-strings.h:79 #: source/ubl-strings.h:81
msgid "Lower size to:" msgid "Lower size to:"
msgstr "Уменьшить размер до:" msgstr "Уменьшить размер до:"
#: source/ubl-strings.h:80 #: source/ubl-strings.h:82
msgid "Apply" msgid "Apply"
msgstr "Применить" msgstr "Применить"
#: source/ubl-strings.h:81 #: source/ubl-strings.h:83
msgid "Statistics" msgid "Statistics"
msgstr "Статистика" msgstr "Статистика"
#: source/ubl-strings.h:82 #: source/ubl-strings.h:84
msgid "Default" msgid "Default"
msgstr "По умолчанию" msgstr "По умолчанию"
#: source/ubl-strings.h:83 #: source/ubl-strings.h:85
msgid "RAM" msgid "RAM"
msgstr "Оперативная память" msgstr "Оперативная память"
#: source/ubl-strings.h:84 #: source/ubl-strings.h:86
msgid "Drive" msgid "Drive"
msgstr "Диск" msgstr "Диск"
#: source/ubl-strings.h:85 #: source/ubl-strings.h:87
msgid "Auto" msgid "Auto"
msgstr "Автоматически" msgstr "Автоматически"
#: source/ubl-strings.h:86 #: source/ubl-strings.h:88
msgid "None" msgid "None"
msgstr "Нет" msgstr "Нет"
#: source/ubl-strings.h:87 #: source/ubl-strings.h:89
msgid "Yes" msgid "Yes"
msgstr "Да" msgstr "Да"
#: source/ubl-strings.h:88 #: source/ubl-strings.h:90
msgid "No" msgid "No"
msgstr "Нет" msgstr "Нет"
#: source/ubl-strings.h:89 #: source/ubl-strings.h:91
msgid "After" msgid "After"
msgstr "После" msgstr "После"
#: source/ubl-strings.h:90 #: source/ubl-strings.h:92
msgid "Kb" msgid "Kb"
msgstr "Кб" msgstr "Кб"
#: source/ubl-strings.h:91 #: source/ubl-strings.h:93
msgid "Mb" msgid "Mb"
msgstr "Мб" msgstr "Мб"
#: source/ubl-strings.h:92 #: source/ubl-strings.h:94
msgid "Gb" msgid "Gb"
msgstr "Гб" msgstr "Гб"
#: source/ubl-strings.h:93 #: source/ubl-strings.h:95
msgid "Minutes" msgid "Minutes"
msgstr "Минут" msgstr "Минут"
#: source/ubl-strings.h:94 #: source/ubl-strings.h:96
msgid "Hours" msgid "Hours"
msgstr "Часов" msgstr "Часов"
#: source/ubl-strings.h:95 #: source/ubl-strings.h:97
msgid "Days" msgid "Days"
msgstr "Дней" msgstr "Дней"
#: source/ubl-strings.h:96 #: source/ubl-strings.h:98
msgid "Weeks" msgid "Weeks"
msgstr "Недель" msgstr "Недель"
#: source/ubl-strings.h:97 #: source/ubl-strings.h:99
msgid "Years" msgid "Years"
msgstr "Лет" msgstr "Лет"
#: source/ubl-strings.h:98 #: source/ubl-strings.h:100
msgid "Reset" msgid "Reset"
msgstr "По умолчанию" msgstr "По умолчанию"
#: source/ubl-strings.h:101 #: source/ubl-strings.h:103
msgid "Logs and events - logrotate configuration" msgid "Logrotate configuration"
msgstr "Логи и журналы событий - конфигурация сервиса logrotate" msgstr "Настройка ротации и хранения журналов Logrotate"
#: source/ubl-strings.h:102 #: source/ubl-strings.h:104
msgid "Log/Journal:" msgid "Log/Journal:"
msgstr "Лог/Журнал:" msgstr "Лог/Журнал:"
#: source/ubl-strings.h:103 #: source/ubl-strings.h:105
msgid "Paths to log and journals files" msgid "Paths to log and journals files"
msgstr "Пути к файлам лога/журнала" msgstr "Пути к файлам лога/журнала"
#: source/ubl-strings.h:104 #: source/ubl-strings.h:106
msgid "On" msgid "On"
msgstr "Включено" msgstr "Включено"
#: source/ubl-strings.h:105 #: source/ubl-strings.h:107
msgid "Off" msgid "Off"
msgstr "Выключено" msgstr "Выключено"
#: source/ubl-strings.h:106 source/ubl-strings.h:160 #: source/ubl-strings.h:108 source/ubl-strings.h:162
msgid "Scenarios" msgid "Scenarios"
msgstr "Сценарии" msgstr "Сценарии"
#: source/ubl-strings.h:107 source/ubl-strings.h:159 #: source/ubl-strings.h:109 source/ubl-strings.h:161
msgid "Scenarios are running for each rotated journal" msgid "Scenarios are running for each rotated journal"
msgstr "Сценарии запускаются для каждого ротируемого журнала" msgstr "Сценарии запускаются для каждого ротируемого журнала"
#: source/ubl-strings.h:108 #: source/ubl-strings.h:110
msgid "Command before rotation (one time):" msgid "Command before rotation (one time):"
msgstr "Команда перед ротацией (один раз):" msgstr "Команда перед ротацией (один раз):"
#: source/ubl-strings.h:109 #: source/ubl-strings.h:111
msgid "Command after rotation (one time):" msgid "Command after rotation (one time):"
msgstr "Команда после ротации (один раз):" msgstr "Команда после ротации (один раз):"
#: source/ubl-strings.h:110 #: source/ubl-strings.h:112
msgid "Command before rotation:" msgid "Command before rotation:"
msgstr "Команда перед ротацией:" msgstr "Команда перед ротацией:"
#: source/ubl-strings.h:111 #: source/ubl-strings.h:113
msgid "Command after rotation:" msgid "Command after rotation:"
msgstr "Команда после ротации:" msgstr "Команда после ротации:"
#: source/ubl-strings.h:112 #: source/ubl-strings.h:114
msgid "Rotation period:" msgid "Rotation period:"
msgstr "Период ротации:" msgstr "Период ротации:"
#: source/ubl-strings.h:113 #: source/ubl-strings.h:115
msgid "Maximum size of file:" msgid "Maximum size of file:"
msgstr "Максимальный размер файла:" msgstr "Максимальный размер файла:"
#: source/ubl-strings.h:114 #: source/ubl-strings.h:116
msgid "Checking frequency configuration" msgid "Checking frequency configuration"
msgstr "Настройки частоты проверки" msgstr "Настройки частоты проверки"
#: source/ubl-strings.h:115 #: source/ubl-strings.h:117
msgid "File amount:" msgid "File amount:"
msgstr "Количество файлов:" msgstr "Количество файлов:"
#: source/ubl-strings.h:116 #: source/ubl-strings.h:118
msgid "Store at:" msgid "Store at:"
msgstr "Хранить в:" msgstr "Хранить в:"
#: source/ubl-strings.h:117 #: source/ubl-strings.h:119
msgid "Rotation as user:" msgid "Rotation as user:"
msgstr "Ротация от пользователя:" msgstr "Ротация от пользователя:"
#: source/ubl-strings.h:118 #: source/ubl-strings.h:120
msgid "Rotation as group:" msgid "Rotation as group:"
msgstr "Ротация от группы:" msgstr "Ротация от группы:"
#: source/ubl-strings.h:119 #: source/ubl-strings.h:121
msgid "Rotation configuration" msgid "Rotation configuration"
msgstr "Настройки ротации" msgstr "Настройки ротации"
#: source/ubl-strings.h:120 #: source/ubl-strings.h:122
msgid "Error processing:" msgid "Error processing:"
msgstr "Обработка ошибок:" msgstr "Обработка ошибок:"
#: source/ubl-strings.h:121 #: source/ubl-strings.h:123
msgid "Rotation of jurnal even when it is empty:" msgid "Rotation of jurnal even when it is empty:"
msgstr "Ротация файла журнала даже если он пуст:" msgstr "Ротация файла журнала даже если он пуст:"
#: source/ubl-strings.h:122 #: source/ubl-strings.h:124
msgid "Do not rotate journal younger than" msgid "Do not rotate journal younger than"
msgstr "Не ротировать журналы, возраст которых меньше" msgstr "Не ротировать журналы, возраст которых меньше"
#: source/ubl-strings.h:123 #: source/ubl-strings.h:125
msgid "days" msgid "days"
msgstr "дней" msgstr "дней"
#: source/ubl-strings.h:124 #: source/ubl-strings.h:126
msgid "Delete rotated journals older than" msgid "Delete rotated journals older than"
msgstr "Удалить ротированные журналы старше" msgstr "Удалить ротированные журналы старше"
#: source/ubl-strings.h:125 #: source/ubl-strings.h:127
msgid "Rotate journals if size more than" msgid "Rotate journals if size more than"
msgstr "Ротация журналов, если размер превышает" msgstr "Ротация журналов, если размер превышает"
#: source/ubl-strings.h:126 #: source/ubl-strings.h:128
msgid "but not earlier than the specified time interval" msgid "but not earlier than the specified time interval"
msgstr "но не раньше указанного интервала времени" msgstr "но не раньше указанного интервала времени"
#: source/ubl-strings.h:127 #: source/ubl-strings.h:129
msgid "before specified time interval" msgid "before specified time interval"
msgstr "до истечения указанного интервала времени" msgstr "до истечения указанного интервала времени"
#: source/ubl-strings.h:128 #: source/ubl-strings.h:130
msgid "File choosing configuration" msgid "File choosing configuration"
msgstr "Настройки выбора файла" msgstr "Настройки выбора файла"
#: source/ubl-strings.h:129 #: source/ubl-strings.h:131
msgid "Create log" msgid "Create log"
msgstr "Создавать лог" msgstr "Создавать лог"
#: source/ubl-strings.h:130 #: source/ubl-strings.h:132
msgid "as user:" msgid "as user:"
msgstr "от пользователя:" msgstr "от пользователя:"
#: source/ubl-strings.h:131 #: source/ubl-strings.h:133
msgid "as group:" msgid "as group:"
msgstr "от группы:" msgstr "от группы:"
#: source/ubl-strings.h:132 #: source/ubl-strings.h:134
msgid "rules:" msgid "rules:"
msgstr "права:" msgstr "права:"
#: source/ubl-strings.h:133 #: source/ubl-strings.h:135
msgid "" msgid ""
"Cut source journal fileafter copy creating instead of moving old journal " "Cut source journal fileafter copy creating instead of moving old journal "
"file and creating new one" "file and creating new one"
@ -502,278 +510,282 @@ msgstr ""
"После создания копии, обрезать исходный файл журнала взамен перемещения " "После создания копии, обрезать исходный файл журнала взамен перемещения "
"старого файла журнала и создания нового" "старого файла журнала и создания нового"
#: source/ubl-strings.h:134 #: source/ubl-strings.h:136
msgid "Files and directories configuration" msgid "Files and directories configuration"
msgstr "Настройки файлов и папок" msgstr "Настройки файлов и папок"
#: source/ubl-strings.h:135 #: source/ubl-strings.h:137
msgid "Delay compression by one journal in queue:" msgid "Delay compression by one journal in queue:"
msgstr "Отложить сжание на один журнал в очереди:" msgstr "Отложить сжание на один журнал в очереди:"
#: source/ubl-strings.h:136 #: source/ubl-strings.h:138
msgid "Compression configuration" msgid "Compression configuration"
msgstr "Настройка сжатия" msgstr "Настройка сжатия"
#: source/ubl-strings.h:137 #: source/ubl-strings.h:139
msgid "Save original log file after rotation if it has specified extension:" msgid "Save original log file after rotation if it has specified extension:"
msgstr "" msgstr ""
"Сохранять оригинальный лог после ротации, если у него указано расширение:" "Сохранять оригинальный лог после ротации, если у него указано расширение:"
#: source/ubl-strings.h:138 #: source/ubl-strings.h:140
msgid "Add date of rotation before log header" msgid "Add date of rotation before log header"
msgstr "Добавлять дату ротации перед заголовком старого лога:" msgstr "Добавлять дату ротации перед заголовком старого лога:"
#: source/ubl-strings.h:139 #: source/ubl-strings.h:141
msgid "Number from which numbering of old logs will begin" msgid "Number from which numbering of old logs will begin"
msgstr "Номер, с которого будет начата нумерация старых логов:" msgstr "Номер, с которого будет начата нумерация старых логов:"
#: source/ubl-strings.h:140 #: source/ubl-strings.h:142
msgid "Filename configuration" msgid "Filename configuration"
msgstr "Настройка имени файлов" msgstr "Настройка имени файлов"
#: source/ubl-strings.h:141 #: source/ubl-strings.h:143
msgid "Email after rotation:" msgid "Email after rotation:"
msgstr "Отправка Email после ротации:" msgstr "Отправка Email после ротации:"
#: source/ubl-strings.h:142 #: source/ubl-strings.h:144
msgid "adress:" msgid "adress:"
msgstr "на адрес:" msgstr "на адрес:"
#: source/ubl-strings.h:143 #: source/ubl-strings.h:145
msgid "contents:" msgid "contents:"
msgstr "содержимое:" msgstr "содержимое:"
#: source/ubl-strings.h:144 source/ubl-strings.h:157 #: source/ubl-strings.h:146 source/ubl-strings.h:159
msgid "Message configuration" msgid "Message configuration"
msgstr "Настройка сообщения" msgstr "Настройка сообщения"
#: source/ubl-strings.h:145 #: source/ubl-strings.h:147
msgid "Manual input:" msgid "Manual input:"
msgstr "Команды настройки" msgstr "Команды настройки"
#: source/ubl-strings.h:146 #: source/ubl-strings.h:148
msgid "Log (-s) size:" msgid "Log (-s) size:"
msgstr "Общий размер лога (-ов):" msgstr "Общий размер лога (-ов):"
#: source/ubl-strings.h:147 #: source/ubl-strings.h:149
msgid "Same directory" msgid "Same directory"
msgstr "Той же папке" msgstr "Той же папке"
#: source/ubl-strings.h:148 #: source/ubl-strings.h:150
msgid "Separate directory" msgid "Separate directory"
msgstr "Другой папке" msgstr "Другой папке"
#: source/ubl-strings.h:149 #: source/ubl-strings.h:151
msgid "Output errors if log file does not exist*" msgid "Output errors if log file does not exist*"
msgstr "Выводить ошибки, если лог файла не существует*" msgstr "Выводить ошибки, если лог файла не существует*"
#: source/ubl-strings.h:150 #: source/ubl-strings.h:152
msgid "Do not output errors if log file does not exist" msgid "Do not output errors if log file does not exist"
msgstr "Не выводить ошибки, если лог файла не существует" msgstr "Не выводить ошибки, если лог файла не существует"
#: source/ubl-strings.h:151 #: source/ubl-strings.h:153
msgid "Do not output" msgid "Do not output"
msgstr "Не выводить" msgstr "Не выводить"
#: source/ubl-strings.h:152 #: source/ubl-strings.h:154
msgid "Output errors" msgid "Output errors"
msgstr "Выводить ошибки" msgstr "Выводить ошибки"
#: source/ubl-strings.h:153 #: source/ubl-strings.h:155
msgid "Send Email" msgid "Send Email"
msgstr "Отправлять Email" msgstr "Отправлять Email"
#: source/ubl-strings.h:154 #: source/ubl-strings.h:156
msgid "Don't send Email" msgid "Don't send Email"
msgstr "Не отправлять Email" msgstr "Не отправлять Email"
#: source/ubl-strings.h:155 #: source/ubl-strings.h:157
msgid "First rotated copy" msgid "First rotated copy"
msgstr "Первая ротированная копия" msgstr "Первая ротированная копия"
#: source/ubl-strings.h:156 #: source/ubl-strings.h:158
msgid "Last rotated copy" msgid "Last rotated copy"
msgstr "Последняя ротированная копия" msgstr "Последняя ротированная копия"
#: source/ubl-strings.h:158 #: source/ubl-strings.h:160
msgid "Endwork command:" msgid "Endwork command:"
msgstr "Команда перед удалением файла журнала:" msgstr "Команда перед удалением файла журнала:"
#: source/ubl-strings.h:161 #: source/ubl-strings.h:163
msgid "Hourly" msgid "Hourly"
msgstr "Час" msgstr "Час"
#: source/ubl-strings.h:162 #: source/ubl-strings.h:164
msgid "Daily" msgid "Daily"
msgstr "День" msgstr "День"
#: source/ubl-strings.h:163 #: source/ubl-strings.h:165
msgid "Weekly*" msgid "Weekly*"
msgstr "Неделя*" msgstr "Неделя*"
#: source/ubl-strings.h:164 #: source/ubl-strings.h:166
msgid "Monthly" msgid "Monthly"
msgstr "Месяц" msgstr "Месяц"
#: source/ubl-strings.h:165 #: source/ubl-strings.h:167
msgid "Yearly" msgid "Yearly"
msgstr "Год" msgstr "Год"
#: source/ubl-strings.h:166 #: source/ubl-strings.h:168
msgid "Monday" msgid "Monday"
msgstr "Понедельник" msgstr "Понедельник"
#: source/ubl-strings.h:167 #: source/ubl-strings.h:169
msgid "Tuesday" msgid "Tuesday"
msgstr "Вторник" msgstr "Вторник"
#: source/ubl-strings.h:168 #: source/ubl-strings.h:170
msgid "Wednesday" msgid "Wednesday"
msgstr "Среда" msgstr "Среда"
#: source/ubl-strings.h:169 #: source/ubl-strings.h:171
msgid "Thursday" msgid "Thursday"
msgstr "Четверг" msgstr "Четверг"
#: source/ubl-strings.h:170 #: source/ubl-strings.h:172
msgid "Friday" msgid "Friday"
msgstr "Пятница" msgstr "Пятница"
#: source/ubl-strings.h:171 #: source/ubl-strings.h:173
msgid "Saturday" msgid "Saturday"
msgstr "Суббота" msgstr "Суббота"
#: source/ubl-strings.h:172 #: source/ubl-strings.h:174
msgid "Sunday*" msgid "Sunday*"
msgstr "Воскресенье*" msgstr "Воскресенье*"
#: source/ubl-strings.h:173 #: source/ubl-strings.h:175
msgid "Same record already exists" msgid "Same record already exists"
msgstr "Такая запись уже существует" msgstr "Такая запись уже существует"
#: source/ubl-strings.h:174 #: source/ubl-strings.h:176
msgid "Empty important field" msgid "Empty important field"
msgstr "Важное поле не заполнено" msgstr "Важное поле не заполнено"
#: source/ubl-strings.h:175 #: source/ubl-strings.h:177
msgid "Repeating paths" msgid "Repeating paths"
msgstr "Повторяющиеся пути" msgstr "Повторяющиеся пути"
#: source/ubl-strings.h:176 #: source/ubl-strings.h:178
msgid "Write down all important fields" msgid "Write down all important fields"
msgstr "Введите все необходимые поля" msgstr "Введите все необходимые поля"
#: source/ubl-strings.h:177 #: source/ubl-strings.h:179
msgid "Command is invalid" msgid "Command is invalid"
msgstr "Неверная команда" msgstr "Неверная команда"
#: source/ubl-strings.h:180 #: source/ubl-strings.h:182
msgid "Logs and events - logrotate table" msgid "Logrotate table"
msgstr "Логи и журналы событий - таблица журналов logrotate" msgstr "Таблица журналов logrotate"
#: source/ubl-strings.h:181 #: source/ubl-strings.h:183
msgid "System configuration" msgid "System configuration"
msgstr "Настройки системы" msgstr "Настройки системы"
#: source/ubl-strings.h:182 #: source/ubl-strings.h:184
msgid "Applications configuration" msgid "Applications configuration"
msgstr "Настройки приложений" msgstr "Настройки приложений"
#: source/ubl-strings.h:183 #: source/ubl-strings.h:185
msgid "Import log configuration" msgid "Import log configuration"
msgstr "Импортировать конфигурацию лога" msgstr "Импортировать конфигурацию лога"
#: source/ubl-strings.h:184 #: source/ubl-strings.h:186
msgid "Add log configuration" msgid "Add log configuration"
msgstr "Добавить конфигурацию лога" msgstr "Добавить конфигурацию лога"
#: source/ubl-strings.h:185 #: source/ubl-strings.h:187
msgid "Remove log configuration" msgid "Remove log configuration"
msgstr "Удалить конфигурацию лога" msgstr "Удалить конфигурацию лога"
#: source/ubl-strings.h:189 #: source/ubl-strings.h:192
msgid "Logs and events - journal configuration"
msgstr "Логи и журналы событий - конфигурация журнала"
#: source/ubl-strings.h:190
msgid "Path (-s):" msgid "Path (-s):"
msgstr "Путь (-и):" msgstr "Путь (-и):"
#: source/ubl-strings.h:191 #: source/ubl-strings.h:193
msgid "Control:" msgid "Control:"
msgstr "Управление:" msgstr "Управление:"
#: source/ubl-strings.h:192 #: source/ubl-strings.h:194
msgid "Log file" msgid "Log file"
msgstr "Файл лога" msgstr "Файл лога"
#: source/ubl-strings.h:193 #: source/ubl-strings.h:195
msgid "Name:" msgid "Name:"
msgstr "Имя:" msgstr "Имя:"
#: source/ubl-strings.h:194 #: source/ubl-strings.h:196
msgid "Log size:" msgid "Log size:"
msgstr "Размер лога:" msgstr "Размер лога:"
#: source/ubl-strings.h:195 #: source/ubl-strings.h:197
msgid "Journal/log files were not found" msgid "Journal/log files were not found"
msgstr "Файлы журналов/логов не были найдены" msgstr "Файлы журналов/логов не были найдены"
#: source/ubl-strings.h:198 #: source/ubl-strings.h:200
msgid "Logs and events - rules" msgid "Rules"
msgstr "Логи и журналы событий - правила" msgstr "Правила"
#: source/ubl-strings.h:199 #: source/ubl-strings.h:201
msgid "Owner rules" msgid "Owner rules"
msgstr "Правила владельца" msgstr "Правила владельца"
#: source/ubl-strings.h:200 #: source/ubl-strings.h:202
msgid "Group rules" msgid "Group rules"
msgstr "Правила группы" msgstr "Правила группы"
#: source/ubl-strings.h:201 #: source/ubl-strings.h:203
msgid "Public rules" msgid "Public rules"
msgstr "Правила остальных" msgstr "Правила остальных"
#: source/ubl-strings.h:202 #: source/ubl-strings.h:204
msgid "Read" msgid "Read"
msgstr "Чтение" msgstr "Чтение"
#: source/ubl-strings.h:203 #: source/ubl-strings.h:205
msgid "Write" msgid "Write"
msgstr "Запись" msgstr "Запись"
#: source/ubl-strings.h:204 #: source/ubl-strings.h:206
msgid "Execute" msgid "Execute"
msgstr "Исполнение" msgstr "Исполнение"
#: source/ubl-strings.h:205 #: source/ubl-strings.h:207
msgid "Value:" msgid "Value:"
msgstr "Значение:" msgstr "Значение:"
#: source/ubl-strings.h:208 #: source/ubl-strings.h:210
msgid ": no such file(s)" msgid ": no such file(s)"
msgstr ": файл(ы) не найден(ы)" msgstr ": файл(ы) не найден(ы)"
#: source/ubl-strings.h:209 #: source/ubl-strings.h:211
msgid "Parameter" msgid "Parameter"
msgstr "Параметр" msgstr "Параметр"
#: source/ubl-strings.h:210 #: source/ubl-strings.h:212
msgid "Old value" msgid "Old value"
msgstr "Старое значение" msgstr "Старое значение"
#: source/ubl-strings.h:211 #: source/ubl-strings.h:213
msgid "New value" msgid "New value"
msgstr "Новое значение" msgstr "Новое значение"
#: source/ubl-strings.h:213 #: source/ubl-strings.h:215
msgid "Logs and events - choose a path" msgid "Choose a path"
msgstr "Логи и журналы событий - Выбор пути" msgstr "Выбор пути"
#: source/ubl-strings.h:214 #: source/ubl-strings.h:216
msgid "Logs and events - saving" msgid "Saving"
msgstr "Логи и журналы событий - сохранение" msgstr "Сохранение"
#: source/ubl-strings.h:218
msgid "Authorization has been elevated"
msgstr ""
#: source/ubl-strings.h:219
msgid "Authorization has been unelevated"
msgstr ""
msgid "System event log rotation service" msgid "System event log rotation service"
msgstr "Служба ротации системных журналов событий" msgstr "Служба ротации системных журналов событий"
@ -783,5 +795,5 @@ msgid ""
"devices" "devices"
msgstr "Сервис сбора сообщений системных событий активных сетевых устройств" msgstr "Сервис сбора сообщений системных событий активных сетевых устройств"
msgid "Save" msgid "Log inspector"
msgstr "Сохранить" msgstr "Просмотр журнала"

Loading…
Cancel
Save