My eventual Linux customization that works best with my hardware (MacBook)
Tags: linux, ubuntu, gnome, macos
Published: 2020-10-07 10:05:38

My hardware in MacBook Pro 13" (mid-2012), and I eventually landed with Ubuntu, the official GNOME 3.

Compared to Windows, and perhaps macOS, even GNOME3 uses way less resources (as seen in Conky).

I have also tried Lubuntu, Xubuntu, and MATE (and installed KDE's `plasma-desktop`, which broke MATE), but

- Lubuntu and KDE don't have the look I like.
- Xubuntu has resume-from-standby-freeze problem, MATE has slow-to-connect WiFi after resume-from-standby problem.

However, GNOME3 needs some more installation and tweaks, as the default settings hide too much.

![Settings](https://dev-to-uploads.s3.amazonaws.com/i/ilxvex8viitxjld2kckq.png)

(And, yes I minimize Dock to as small as possible, but not auto-hide it. Also, at bottom.)

That is

```sh
sudo apt install gnome-tweaks
sudo apt install conky
sudo apt install pulseaudio pavucontrol # my macOS sound is too silent
```

## Essential GNOME tweaks for macOS hardware (keyboard)

![GNOME tweaks](https://dev-to-uploads.s3.amazonaws.com/i/wj59l8ff2y6r585lahoq.png)

So, I need to swap Right Command (Win) with Right Control, because macOS keyboard doesn't have Right Control.

## Conky settings

Default Conky settings flickered, but I tweaked it.

```lua
conky.config = {
	update_interval = 1,
	cpu_avg_samples = 2,
	net_avg_samples = 2,
	out_to_console = false,
	override_utf8_locale = true,
	double_buffer = true,
	no_buffers = true,
	text_buffer_size = 32768,
	imlib_cache_size = 0,
	own_window = true,
	own_window_type = 'normal',
	own_window_argb_visual = true,
	own_window_argb_value = 50,
	own_window_hints = 'undecorated,below,sticky,skip_taskbar,skip_pager',
	border_inner_margin = 5,
	border_outer_margin = 0,
	xinerama_head = 1,
	alignment = 'bottom_right',
	gap_x = 0,
	gap_y = 33,
	draw_shades = false,
	draw_outline = false,
	draw_borders = false,
	draw_graph_borders = false,
	use_xft = true,
	font = 'Ubuntu Mono:size=12',
	xftalpha = 0.8,
	uppercase = false,
	default_color = 'white',
	own_window_colour = '#000000',
	minimum_width = 300, minimum_height = 0,
	alignment = 'top_right',

};
conky.text = [[
${alignr}${time %H:%M:%S}
${voffset -16}${font sans-serif:bold:size=18}${alignc}${time %H:%M}${font}
${voffset 4}${alignc}${time %A %B %d, %Y}
${font}${voffset -4}
${font sans-serif:bold:size=10}SYSTEM ${hr 2}
${font sans-serif:normal:size=8}$sysname $kernel $alignr $machine
Host:$alignr$nodename
Uptime:$alignr$uptime
${execi 1000 acpi -b | awk "{print $1}" | sed 's/,.*//'}${alignr}${battery_percent BAT0}% ${battery_bar 8,70 BAT0}

${font sans-serif:bold:size=10}CPU ${hr 2}
${font sans-serif:normal:size=8}${execi 1000 grep model /proc/cpuinfo | cut -d : -f2 | tail -1 | sed 's/\s//'}

CPU0: ${cpu cpu0}% ${cpubar cpu0}
CPU1: ${cpu cpu1}% ${cpubar cpu1}
CPU2: ${cpu cpu2}% ${cpubar cpu2}
CPU3: ${cpu cpu3}% ${cpubar cpu3}

${font sans-serif:bold:size=10}MEMORY ${hr 2}
${font sans-serif:normal:size=8}RAM $alignc $mem / $memmax $alignr $memperc%
$membar
SWAP $alignc ${swap} / ${swapmax} $alignr ${swapperc}%
${swapbar}

${font sans-serif:bold:size=10}DISK USAGE ${hr 2}
${font sans-serif:normal:size=8}/ $alignc ${fs_used /} / ${fs_size /} $alignr ${fs_used_perc /}%
${fs_bar /}

${font Ubuntu:bold:size=10}NETWORK ${hr 2}
${font sans-serif:normal:size=8}Local IPs:${alignr}External IP:
${execi 1000 ip a | grep inet | grep -vw lo | grep -v inet6 | cut -d \/ -f1 | sed 's/[^0-9\.]*//g'}  ${alignr}${execi 60000  wget -q -O- http://ipecho.net/plain; echo}
${font sans-serif:normal:size=8}Down: ${downspeed wlp2s0}  ${alignr}Up: ${upspeed wlp2s0} 
${color lightgray}${downspeedgraph wlp2s0 30,130 } ${alignr}${upspeedgraph wlp2s0 30,130 }$color
${font sans-serif:bold:size=10}TOP PROCESSES ${hr 2}
${font sans-serif:normal:size=8}Name $alignr PID   CPU%   MEM%${font sans-serif:normal:size=8}
${top name 1} $alignr ${top pid 1} ${top cpu 1}% ${top mem 1}%
${top name 2} $alignr ${top pid 2} ${top cpu 2}% ${top mem 2}%
${top name 3} $alignr ${top pid 3} ${top cpu 3}% ${top mem 3}%
${top name 4} $alignr ${top pid 4} ${top cpu 4}% ${top mem 4}%
${top name 5} $alignr ${top pid 5} ${top cpu 5}% ${top mem 5}%
${top name 6} $alignr ${top pid 6} ${top cpu 6}% ${top mem 6}%
${top name 7} $alignr ${top pid 7} ${top cpu 7}% ${top mem 7}%
${top name 8} $alignr ${top pid 8} ${top cpu 8}% ${top mem 8}%
${top name 9} $alignr ${top pid 9} ${top cpu 9}% ${top mem 9}%
${top name 10} $alignr ${top pid 10} ${top cpu 10}% ${top mem 10}%
]];
```

## Pulseaudio

![Pulseaudio](https://dev-to-uploads.s3.amazonaws.com/i/786cnd07657y2thrpser.png)

Pulseaudio can accelerate sound output even more than 100%, and for some reasons, the sound output of my laptop was too silent... (and of course, Pulseaudio is only available in Linux.)

## Current result

![Screenshot](https://dev-to-uploads.s3.amazonaws.com/i/6yvkxmwzsyljoww4ut47.png)

## Ease of use

With `Control+Alt+Up/Down` and `Shift+Control+Alt+Up/Down`, I can have multiple desktops, just like the way I used to in macOS; but not as inconvenient as in MATE or Xfce.