mirror of
https://github.com/Dasharo/systemd.git
synced 2026-03-06 15:02:31 -08:00
Merge pull request #30216 from poettering/loginctl-table-tweaks
loginctl: minor tweaks to tabular output
This commit is contained in:
@@ -180,6 +180,8 @@ static int list_sessions(int argc, char *argv[], void *userdata) {
|
||||
(void) table_set_align_percent(table, TABLE_HEADER_CELL(0), 100);
|
||||
(void) table_set_align_percent(table, TABLE_HEADER_CELL(1), 100);
|
||||
|
||||
(void) table_set_ersatz_string(table, TABLE_ERSATZ_DASH);
|
||||
|
||||
for (;;) {
|
||||
_cleanup_(sd_bus_error_free) sd_bus_error e = SD_BUS_ERROR_NULL;
|
||||
const char *id, *user, *seat, *object;
|
||||
@@ -206,8 +208,8 @@ static int list_sessions(int argc, char *argv[], void *userdata) {
|
||||
TABLE_STRING, id,
|
||||
TABLE_UID, (uid_t) uid,
|
||||
TABLE_STRING, user,
|
||||
TABLE_STRING, seat,
|
||||
TABLE_STRING, strna(i.tty),
|
||||
TABLE_STRING, empty_to_null(seat),
|
||||
TABLE_STRING, empty_to_null(i.tty),
|
||||
TABLE_STRING, i.state,
|
||||
TABLE_BOOLEAN, i.idle_hint);
|
||||
if (r < 0)
|
||||
@@ -259,6 +261,7 @@ static int list_users(int argc, char *argv[], void *userdata) {
|
||||
return log_oom();
|
||||
|
||||
(void) table_set_align_percent(table, TABLE_HEADER_CELL(0), 100);
|
||||
(void) table_set_ersatz_string(table, TABLE_ERSATZ_DASH);
|
||||
|
||||
for (;;) {
|
||||
_cleanup_(sd_bus_error_free) sd_bus_error error_property = SD_BUS_ERROR_NULL;
|
||||
@@ -328,6 +331,8 @@ static int list_seats(int argc, char *argv[], void *userdata) {
|
||||
if (!table)
|
||||
return log_oom();
|
||||
|
||||
(void) table_set_ersatz_string(table, TABLE_ERSATZ_DASH);
|
||||
|
||||
for (;;) {
|
||||
const char *seat;
|
||||
|
||||
@@ -504,6 +509,8 @@ static int print_session_status_info(sd_bus *bus, const char *path) {
|
||||
if (!table)
|
||||
return log_oom();
|
||||
|
||||
(void) table_set_ersatz_string(table, TABLE_ERSATZ_NA);
|
||||
|
||||
if (dual_timestamp_is_set(&i.timestamp)) {
|
||||
r = table_add_cell(table, NULL, TABLE_FIELD, "Since");
|
||||
if (r < 0)
|
||||
@@ -540,22 +547,25 @@ static int print_session_status_info(sd_bus *bus, const char *path) {
|
||||
return table_log_add_error(r);
|
||||
}
|
||||
|
||||
r = table_add_cell(table, NULL, TABLE_FIELD, "Seat");
|
||||
if (r < 0)
|
||||
return table_log_add_error(r);
|
||||
|
||||
if (i.vtnr > 0)
|
||||
r = table_add_cell_stringf(table, NULL, "%s; vc%u", i.seat, i.vtnr);
|
||||
else
|
||||
r = table_add_cell(table, NULL, TABLE_STRING, i.seat);
|
||||
if (r < 0)
|
||||
return table_log_add_error(r);
|
||||
if (!isempty(i.seat)) {
|
||||
r = table_add_cell(table, NULL, TABLE_FIELD, "Seat");
|
||||
if (r < 0)
|
||||
return table_log_add_error(r);
|
||||
|
||||
if (i.tty)
|
||||
if (i.vtnr > 0)
|
||||
r = table_add_cell_stringf(table, NULL, "%s; vc%u", i.seat, i.vtnr);
|
||||
else
|
||||
r = table_add_cell(table, NULL, TABLE_STRING, i.seat);
|
||||
if (r < 0)
|
||||
return table_log_add_error(r);
|
||||
}
|
||||
|
||||
if (!isempty(i.tty))
|
||||
r = table_add_many(table,
|
||||
TABLE_FIELD, "TTY",
|
||||
TABLE_STRING, i.tty);
|
||||
else if (i.display)
|
||||
else if (!isempty(i.display))
|
||||
r = table_add_many(table,
|
||||
TABLE_FIELD, "Display",
|
||||
TABLE_STRING, i.display);
|
||||
@@ -692,6 +702,8 @@ static int print_user_status_info(sd_bus *bus, const char *path) {
|
||||
if (!table)
|
||||
return log_oom();
|
||||
|
||||
(void) table_set_ersatz_string(table, TABLE_ERSATZ_NA);
|
||||
|
||||
if (dual_timestamp_is_set(&i.timestamp)) {
|
||||
r = table_add_cell(table, NULL, TABLE_FIELD, "Since");
|
||||
if (r < 0)
|
||||
@@ -790,6 +802,8 @@ static int print_seat_status_info(sd_bus *bus, const char *path) {
|
||||
if (!table)
|
||||
return log_oom();
|
||||
|
||||
(void) table_set_ersatz_string(table, TABLE_ERSATZ_NA);
|
||||
|
||||
if (!strv_isempty(i.sessions)) {
|
||||
_cleanup_strv_free_ char **sessions = TAKE_PTR(i.sessions);
|
||||
|
||||
|
||||
@@ -861,12 +861,12 @@ void user_update_last_session_timer(User *u) {
|
||||
}
|
||||
|
||||
static const char* const user_state_table[_USER_STATE_MAX] = {
|
||||
[USER_OFFLINE] = "offline",
|
||||
[USER_OPENING] = "opening",
|
||||
[USER_OFFLINE] = "offline",
|
||||
[USER_OPENING] = "opening",
|
||||
[USER_LINGERING] = "lingering",
|
||||
[USER_ONLINE] = "online",
|
||||
[USER_ACTIVE] = "active",
|
||||
[USER_CLOSING] = "closing"
|
||||
[USER_ONLINE] = "online",
|
||||
[USER_ACTIVE] = "active",
|
||||
[USER_CLOSING] = "closing"
|
||||
};
|
||||
|
||||
DEFINE_STRING_TABLE_LOOKUP(user_state, UserState);
|
||||
|
||||
@@ -544,7 +544,7 @@ testcase_list_users_sessions_seats() {
|
||||
assert_eq "$(loginctl list-sessions --no-legend | awk '$3 == "logind-test-user" { print $5 }')" tty2
|
||||
assert_eq "$(loginctl list-sessions --no-legend | awk '$3 == "logind-test-user" { print $6 }')" active
|
||||
assert_eq "$(loginctl list-sessions --no-legend | awk '$3 == "logind-test-user" { print $7 }')" no
|
||||
assert_eq "$(loginctl list-sessions --no-legend | awk '$3 == "logind-test-user" { print $8 }')" ''
|
||||
assert_eq "$(loginctl list-sessions --no-legend | awk '$3 == "logind-test-user" { print $8 }')" '-'
|
||||
|
||||
loginctl list-seats --no-legend | grep -Fwq "${seat?}"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user