fastfetch-cli / fastfetch

A maintained, feature-rich and performance oriented, neofetch like system information tool.
MIT License
11.02k stars 425 forks source link

Fastfetch can't be displayed normally in Cockpit. #418

Closed ghost closed 1 year ago

ghost commented 1 year ago

General description of bug:

The color tape of Fastfetch can't be displayed normally in Cockpit. Cockpit is a web-ui server management tool developed by Red Hat,

Often helpful questions:

shell: bash or zsh

Terminal: cockpit-bridge

20230216134622

[root@Arch-Linux ~]# fastfetch --load-config devinfo -root@Arch-Linux .o+ --------------- ooo/ OS: Arch Linux x86_64 +oooo: Host: VirtualBox (1.2) +oooooo: Kernel: 6.1.12-zen1-1-zen -+oooooo+: Uptime: 26 mins /:-:++oooo+: Packages: 399 (pacman) /++++/+++++++: Shell: bash 5.1.16 /++++++++++++++: Display: 1024x768 /+++ooooooooooooo/ DE: No DE found ./ooosssso++osssssso+WM: No WM found .oossssso-````/ossssss+ WM Theme: WM Theme needs sucessfull WM detection -osssssso. :ssssssso. Theme: No themes found :osssssss/ osssso+++. Icons: No icons could be found /ossssssss/ +ssssooo/- Font: No fonts found /ossssso+/:- -:/+osssso+- Cursor: Adwaita +sso+:-`.-/+oso: Terminal: cockpit-bridge ++:. -/+/ Terminal Font: Unknown terminal: cockpit-bridge . `/ CPU: Intel(R) Core(TM) i5-6300HQ (2) @ 2.303998 GHz GPU: VMware SVGA II Adapter Memory: 224.46 MiB / 2.89 GiB (7%) Disk (/): 8.70 GiB / 18.53 GiB (46%) Battery: 100% [Full] Power Adapter: Not supported on this platform Locale: en_US.UTF-8

                                     ████████████████████████
                                     ████████████████████████

[root@Arch-Linux ~]# fastfetch --load-config devinfo-verbose -root@Arch-Linux .o+ --------------- ooo/ OS: System: Linux; Name: Arch Linux; Pretty name: Arch Linux; ID: arch; ID like: ; Variant: ; Variant ID: ; Version: ; Version ID: ; Version codename: ; Build ID: rolling; Architecture: x86_64 +oooooo: Host: Family: product_family: Virtual Machine; product_name: VirtualBox; product_version: 1.2; product_sku: ; sys_vendor: innotek GmbH -+oooooo+: Bios: bios_release is not set. /:-:++oooo+: Board: VirtualBox /++++/+++++++: Chassis: 1 /++++++++++++++: Kernel: Sysname: Linux; Release: 6.1.12-zen1-1-zen; Version: #1 ZEN SMP PREEMPT_DYNAMIC Tue, 14 Feb 2023 22:08:11 +0000 /+++ooooooooooooo/Uptime: Days: 0; Hours: 0; Minutes: 31; Seconds: 40 ./ooosssso++osssssso+ Processes: Count: 127 .oossssso-```/ossssss+ Packages: All: 399; pacman: 399; pacman branch: ; dpkg: 0; rpm: 0; emerge: 0; eopkg: 0; xbps: 0; apk: 0; flatpak: 0; snap: 0; brew: 0; brew-cask: 0; port: 0; scoop: 0; choco: 0 :ssssssso.
:osssssss/ osssso+++. Shell: Process name: bash; Process path: /bin/bash; Process exe: bash; Process version: 5.1.16; User path: /bin/bash; User exe: bash; User version: 5.1.16 /ossssssss/ +ssssooo/- Display: Width: 1024; Height: 768; Refresh rate: 0 /ossssso+/:- -:/+osssso+- Brightness: No result is detected. +sso+:-`.-/+oso: DE: No DE found ++:. -/+/ WM: No WM found . `/ WM Theme: WM Theme needs sucessfull WM detection Theme: No themes found Icons: No icons could be found Font: No fonts found Cursor: Theme: Adwaita; Size: Terminal: Process: cockpit-bridge; Path: cockpit-bridge; Exe: cockpit-bridge Terminal Font: Unknown terminal: cockpit-bridge CPU: Name: Intel(R) Core(TM) i5-6300HQ, Vendor: GenuineIntel, CoresPhysical: 2, CoresLogical: 2, CoresOnline: 2, FrequencyMin: 2.304, FrequencyMax: 2.304, Temperature: -nan CPU Usage: Percentage: 50 GPU: Vendor: VMware; Name: SVGA II Adapter; Driver: vmwgfx; Temperature: -nan; CoreCount: -1 Memory: Used: 224.89 MiB; Total: 2.89 GiB; Percentage: 7 Swap: Disabled Disk (/): SizeUsed: 8.70 GiB; SizeTotal: 18.53 GiB; SizePercentage: 46; FilesUsed: 307908; FilesTotal: 1245184; FilesPercentage: 24; Removable: false; Hidden: false; Filesystem: ext4; Name: / Battery: Manufactor: innotek; Model: 1; Technology: Unknown; Capacity: 100; Status: Full Power Adapter: Not supported on this platform Media Player: No media found Media: No media found Public IP: 139.214.4.166 Local IP (enp0s3): 192.168.1.3 Wifi: No Wifi interfaces found Date & Time: year: 2023; yearShort: 23; month: 2; monthPretty: 02; monthName: February; monthNameShort: Feb; weekNumber: 7; weekday: Thursday; weekdayShort: Thu; dayInYear: 47; dayInMonth: 16; dayInWeek: 4; hour: 13; hourPretty: 13; hour12: 1; hour12Pretty: 01; minute: 52; minutePretty: 52; second: 50; secondPretty: 50 Locale: en_US.UTF-8 Vulkan: ffvkCreateInstance() failed OpenGL: XOpenDisplay returned NULL OpenCL: dlopen libOpenCL.so failed Users: root Weather: +7°C - Sunny (Huangpu, China)

                                     ████████████████████████
                                     ████████████████████████

[root@Arch-Linux ~]#

[root@Arch-Linux ~]# fastfetch --list-features libpci vulkan wayland xcb-randr xcb xrandr x11 gio dconf dbus imagemagick7 chafa zlib xfconf egl glx osmesa opencl [root@Arch-Linux ~]#

CarterLi commented 1 year ago

I can confirm the behavior. However it's a terminal bug and hard to work around unless we print a visible character.

https://github.com/LinusDierheimer/fastfetch/blob/dev/src/modules/colors.c#L23

Things I have tried:

  1. puts(FASTFETCH_TEXT_MODIFIER_RESET "a"); // works
  2. puts(FASTFETCH_TEXT_MODIFIER_RESET " "); // doesn't work
  3. fputs(FASTFETCH_TEXT_MODIFIER_RESET "\033[1E", stdout); // doesn't work
image

Better file a bug upstream or disable colors module simply

LinusDierheimer commented 1 year ago

Maybe printing a space or an invisible / zero length unicode char does work?

CarterLi commented 1 year ago

No, it doesnt

LinusDierheimer commented 1 year ago

We could print an additional square with the default colors

CarterLi commented 1 year ago

Filed an issue upstream: https://github.com/cockpit-project/cockpit/issues/18378

We could print an additional square with the default colors

I don't want to hack fastfetch like this because it affects other terminals

garrett commented 1 year ago

This isn't a bug with Cockpit, but with xterm.js (specifically the canvas renderer), which Cockpit, VS Code, and several other projects use:

(I explained it further, looking at both Cockpit and VS Code and posting screenshots @ https://github.com/cockpit-project/cockpit/issues/18378#issuecomment-1438113915. But the summary is the same: it's an xterm.js canvas rendering issue.)

CarterLi commented 1 year ago

This issue has been there for more than half a year. As it's not a issue of fastfetch, better to track the upstream issue.