UPDATE 02/12/2024 - Adjusting the ChromeOS resolution will no longer dynamically update the Debian desktop resolution. Once the ChromeOS resolution is adjusted, shut down and then restart Linux. If you have not already installed Linux, I recommend watching my Install Linux On A Chromebook (No Rooting!) video: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-4bKeaVw_eqc.html Complete install instructions: From the Terminal app: sudo apt update -y sudo apt dist-upgrade -y sudo apt install task-lxde-desktop -y sudo apt install xserver-xephyr -y sudo apt install nano -y sudo systemctl disable lightdm sudo nano /usr/bin/gol Xephyr -br -fullscreen -resizeable :20 & sleep 5 DISPLAY=:20 startlxde & Ctrl-O, Enter, and Ctrl-X to save the file and exit nano sudo chmod +x /usr/bin/gol gol Shut down Linux: Right click (2 finger click on Chromebook mousepad) Terminal app > select Shut down Linux > close Terminal app Startup the desktop: Open Terminal app > select penguin > gol Most Linux issues are caused by ChromeOS updates, the following procedure generally fixes those issues: Right click Terminal app > select Shut down Linux > close Terminal app Shut down the Chromebook Start the Chromebook back up Put the Chromebook online Open the Terminal app > select penguin Wait a few moments for the terminal to start up (shouldn't take more then 10 minutes, generally this takes less time, long start up times are usually due to updates) Execute gol script LightDM greeter issue (login screen). The LightDM greeter clashes with the ChromeOS container design. Because of that, a login window pops up that we can't interact with and if we try to close out of it, it closes the terminal session as well. WITHOUT closing the LightDM greeter, from the Terminal: sudo systemctl disable lightdm Reboot Linux, there should no longer be a password window. More Information/Documentation: Debian Website: www.debian.org/ Debian Handbook: debian-handbook.info/browse/stable/ LXDE Website: www.lxde.org/ Chrome/ChromeOS Documenation: www.chromium.org/chromium-projects/ Questions are welcome and encouraged. Due to the design of RU-vid's comment section, posting questions under the pinned comment or under another user's comment makes it difficult for me to find and answer questions. Please do not post your questions under the pinned comment or under other user's questions. Please create a new comment.
It worked thank you so much cause at first I watched one of your older videos but it did not work but after watching this new up to date version it worked
In terms of security on a EAU Chromebook: Would running a browser inside the container be more, less, or the same? I'm especially interested because I bank on line. Wonderful video, works great, thanks.
I'm not a security specialist, that is beyond the scope of my channel. Here's a few links you may be interested in: Article about Apple: www.apple.com/customer-letter/ Naomi Brockwell TV Channel: www.youtube.com/@naomibrockwelltv SecurityFWD Channel (Current): www.youtube.com/@SecurityFWD Nullbyte Channel (Original): www.youtube.com/@NullByteWHT What happened to Nullbyte?: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-5MsTm-v0ykQ.html Privacy Linux Distro: tails.net/
Before starting up the desktop the screen resolution can be lowered to make everything bigger: Chromebook Settings > Device > Displays > Display size. Start up the desktop from the terminal. Fonts can be adjusted inside the desktop from multiple places: To adjust the majority of the fonts: Menu > Preferences > Customize Look and Feel Fonts can be generally be set under the Widget tab and Window Border subtabs. Click Apply button to apply font changes. To adjust the desktop font: Right click desktop background > select Desktop Preferences > go to the Appearance tab Font can be adjusted under the Text section. To adjust the bottom taskbar font: Right click the taskbar > select Panel Settings > go to the Appearance tab Font can be adjusted under the Font section. You can also adjust the size of the desktop icons: Menu > System Tools > File Manager PCManFM View menu > select Zoom In or Zoom Out I have a video that covers adjusting the Display size, fonts, and icon sizes: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-7fqpNJl3aDc.html ------------------------- Here's a method for enlarging the entire desktop, this has been an ongoing area of research. We've tried hundreds of combinations, don't hesitate to experiment. 0.5 doubles the screen size, 2 is half size, decimals can be used (ex. --scale=0.671): sommelier -X --scale=0.5 Xephyr -br -fullscreen -resizeable :20 & sleep 5 DISPLAY=:20 startlxde & Reboot Linux and startup the desktop again for the scale to take affect. For reference this is the unmodified version of the go script: Xephyr -br -fullscreen -resizeable :20 & sleep 5 DISPLAY=:20 startlxde & For a sommelier quick reference from a terminal: sommelier --help Sommelier Documentation: chromium.googlesource.com/chromiumos/platform2/+/HEAD/vm_tools/sommelier/ I have a video that goes into detail on Sommelier: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-2Rpnudnjc1g.html
These are the scripts for setting the desktop resolution. These include modifications of the gol script. I recommend backing up the original gol script, "mv /usr/bin/gol /usr/bin/gol.bak" This way you can always run gol.bak. I realize it's a lot to take in, I'll be making a video on this soon. Original LXDE startup script for reference: /usr/bin/gol Xephyr -br -fullscreen -resizeable :20 & sleep 5 DISPLAY=:20 startlxde & -------------------------------- LXDE startup script with a set scale: /usr/bin/gol sudo killall Xephyr &> /dev/null sudo rm /tmp/.X20-lock &> /dev/null sleep 3 sommelier -X --scale=.83 --glamor \ Xephyr -br -fullscreen -resizeable :20 \ &> /dev/null & sleep 3 sudo -u env XDG_RUNTIME_DIR=/run/user/1000 \ GDK_BACKEND=x11 \ PATH=/usr/local/bin:/usr/bin:\ /usr/local/games:/usr/games \ DISPLAY=:20 startlxde &> /dev/null & -------------------------------- LXDE startup script with on the fly scaling (uses goXephyrByHeight, goXephyrByWidth, goXephyrByPercent, and goXephyrNoZoom scripts): /usr/bin/gol if [ “$1” = “h”]; then goXephyrByHeight $2 elif [ “$1” = “w” ]; then goXephyrByWidth $2 elif [ “$1” != “” ]; then goXephyrByPercent $1 else # goXephyrNoZoom goXephyrByPercent 120 fi sudo -u env XDG_RUNTIME_DIR=/run/user/1000 \ GDK_BACKEND=x11 \ PATH=/usr/local/bin:/usr/bin:\ /usr/local/games:/usr/games \ DISPLAY=:20 startlxde &> /dev/null & Start up LXDE without scaling: /usr/bin/goXephyrNoZoom goXephyrStop Xephyr -br -fullscreen -resizeable :20 \ &> /dev/null & sleep 3 Shut down the desktop running in Xephyr: /usr/bin/goXephyrStop sudo killall Xephyr &> /dev/null sudo rm /tmp/.X20-lock &> /dev/null sleep 3 Set LXDE desktop scale based on a given percentage: /usr/bin/goXephyrByPercent # calc must be installed in order to work goXephyrStop RES=$(calc -d 100/$1) &> /dev/null & RES=${RES:1:5} &> /dev/null & command=’sommelier -X --scale=’\ $RES\ ‘ --glamor Xephyr -br -fullscreen -resizeable :20’ echo $command exec $command &> /dev/null & sleep 3 Height and width are examples for goXephyrByHeight and goXephyrByWidth, your's will likely be different. The Linux resolution can be obtained from the terminal with xdpyinfo | grep dimensions or from LXDE menu > Preferences > Monitor Settings. Set LXDE desktop scale based on a given height: /usr/bin/goXephyrByHeight HEIGHT=999 WIDTH=1600 NEW_HEIGHT=$1 PERCENT=$((HEIGHT*100/NEW_HEIGHT)) goXephyrByPercent $PERCENT Set LXDE desktop scale based on a given width: /usr/bin/goXephyrByWidth HEIGHT=999 WIDTH=1600 NEW_WIDTH=$1 PERCENT=$((WIDTH*100/NEW_WIDTH)) goXephyrByPercent $PERCENT
Before starting up the desktop the screen resolution can be lowered to make everything bigger: Chromebook Settings > Device > Displays > Display size. Start up the desktop from the terminal. Fonts can be adjusted inside the desktop from multiple places: To adjust the majority of the fonts: Menu > Preferences > Customize Look and Feel Fonts can be generally be set under the Widget tab and Window Border subtabs. Click Apply button to apply font changes. To adjust the desktop font: Right click desktop background > select Desktop Preferences > go to the Appearance tab Font can be adjusted under the Text section. To adjust the bottom taskbar font: Right click the taskbar > select Panel Settings > go to the Appearance tab Font can be adjusted under the Font section. You can also adjust the size of the desktop icons: Menu > System Tools > File Manager PCManFM View menu > select Zoom In or Zoom Out I have a video that covers adjusting the Display size, fonts, and icon sizes: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-HRq_uxDMDWg.html
I would recommend shutting down Linux, shutting down the Chromebook, restart the Chromebook, put the Chromebook online, start up Linux again, and try executing the gol script (6:52). If that doesn't work, it's likely an issue with the go script. For your convenience I've included the complete install instructions. If you continue to have an issue, please copy and paste your go script (4:38): Here's the full list of install commands: From Terminal app: sudo apt update -y sudo apt dist-upgrade -y sudo apt install task-lxde-desktop -y sudo apt install xserver-xephyr -y sudo apt install nano -y sudo systemctl disable lightdm sudo nano /usr/bin/gol Xephyr -br -fullscreen -resizeable :20 & sleep 5 DISPLAY=:20 startlxde & Ctrl-O, Enter, Ctrl-X sudo chmod +x /usr/bin/gol gol
The minimum storage needed for a minimum install is 5 GB. ----------------------- Debian with an XFCE desktop install (screenshots shown in one of my community posts www.youtube.com/@ruthake/community the first sentence in the post is "XFCE Desktop On Debian 12 On A Chromebook!"): Start with a fresh Linux container install: Advanced > Developers Click the Turn On Button Click the Next button Enter a Username Select Disk Size (can be changed later) Click the Install button From Terminal app: sudo apt update -y sudo apt dist-upgrade -y sudo apt install task-xfce-desktop -y sudo apt install xserver-xephyr -y sudo apt install nano -y sudo systemctl disable lightdm sudo nano /usr/bin/gox Xephyr -br -fullscreen -resizeable :40 & sleep 5 sudo -u DISPLAY=:40 startxfce4 & Ctrl-O, Enter, Ctrl-X sudo chmod +x /usr/bin/gox gox
Here's a video that covers running apps inside the desktop (it's not always possible to run an app inside the desktop, it depends on how the program is coded): ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-duwJHojF1kc.html Here's a video that covers running apps outside the desktop with sommelier: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-2Rpnudnjc1g.html
Would this work if i installed it on Debian running on WSL2 (WIndows Subsystem for Linux version 2) rather than on a chromebook? My laptop natively runs windows, but WSL2 lets linux run almost like it is installed directly on the hardware, I already run Win-Kex on kali linux, but want to test debian so i can write scripts for my sister to use on her own, however having a GUI rather than CLI will make this easier.
I do not have any experience with WSL. I would recommend installing Linux on an SD card (running Linux from an SD card connected by a USB adapter), this would allow you to run full blown Debian Linux without interfering with Windows. Theoretically, Xephyr should allow you to run a desktop. Here's a Debian Wiki page on WSL: wiki.debian.org/InstallingDebianOn/Microsoft/Windows/SubsystemForLinux
To see if the Linux side is connecting to the internet, try pinging Google from a terminal: ping www.google.com Ctrl-C to stop the ping If the internet is working, try running the browser from a terminal and copy and paste the output here.
It sounds like there is an issue with the go script. Please copy and paste your go script. Here's a copy of the complete go script: Xephyr -br -fullscreen -resizeable :20 & sleep 5 DISPLAY=:20 startlxde & --------------------------- Here's a copy of the complete instructions for your convenience: From the Terminal app: sudo apt update -y sudo apt dist-upgrade -y sudo apt install task-lxde-desktop -y sudo apt install xserver-xephyr -y sudo apt install nano -y sudo systemctl disable lightdm sudo nano /usr/bin/gol Xephyr -br -fullscreen -resizeable :20 & sleep 5 DISPLAY=:20 startlxde & Ctrl-O, Enter, Ctrl-X sudo chmod +x /usr/bin/gol gol
If you've rebooted it while it was online, then it is likely a typo in the go script. For your convenience I've included the complete install instructions. If you continue to have an issue, please copy and paste your go script (4:38): From Terminal app: sudo apt update -y sudo apt dist-upgrade -y sudo apt install task-lxde-desktop -y sudo apt install xserver-xephyr -y sudo apt install nano -y sudo systemctl disable lightdm sudo nano /usr/bin/gol Xephyr -br -fullscreen -resizeable :20 & sleep 5 DISPLAY=:20 startlxde & Ctrl-O, Enter, Ctrl-X sudo chmod +x /usr/bin/gol gol
@@ruthake Tx Ruth, I just figured it out - before reading your answer. It appeared that lxde couldn't be started, so I installed lxde (full). Following your instructions .... it worked. It's nice. Thank you for your instructional video.
Linux can be completely removed from Linux development environment in Chromebook Settings, and click on the Remove button. The Linux storage can be adjusted at any time from Linux development environment in Chromebook Settings, and click on the Change button for Disk size. You may also be interested in the Disk Usage Analyzer. Install baobab. Open from Menu > System Tools > Disk Usage Analyzer. Removing just the LXDE desktop will likely make Linux dysfunctional. It may be easier to uninstall Linux and reinstall Linux without the desktop, and then install a lighter weight desktop such as IceWM (takes about 1 min to install. I strongly recommend changing the theme to NanoBlue.): sudo apt update -y sudo apt dist-upgrade -y sudo apt install icewm -y sudo nano /usr/bin/goice Xephyr -br -fullscreen -resizeable :20 & sleep 5 DISPLAY=:20 icewm-session & Ctrl+O, Enter, and Ctrl+X to save the file and exit nano. sudo chmod +x /usr/bin/goice goice Menu > Settings > Themes > NanoBlue
Can, the linux apps loaded previously still work with systemdctl disabled? I am talking about after enabling Linix container, we can load linux apps to use on the chromebook just like any other app.
Theoretically yes, I would not recommend that. systemd is the init and automation system. Disabling systemd may result in unintended consequences. Linux apps can be run without the desktop directly from the Terminal app. To ease the process of running apps from the command line, launch scripts can be created which we often refer to as go scripts. This is useful for starting and stopping supporting programs and setting configurations. For example, if you're using Sommelier to launch an app (scale will vary. The larger the number the smaller the image, and the smaller the number, the bigger the image. 0.5 is double, and 2 is half.): sommelier -X --scale=1.2 --glamor --frame-color=#000000 supertuxkart Sommelier video: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-2Rpnudnjc1g.html
really awesome video! I wonder if it'll work on my arm chromeOS device (it's a lenovo duet with a mediatek hardware) :P probably all the Debian packages are amd64
@@ruthake hooooly, it worked 🤣🤣♥ I had so much fun. And I wanted to try plasma and plasma mobile (but startkde doesn't work, so it's "XDG_SESSION_TYPE=wayland dbus-run-session startplasma-x11 (or startplasmamobile)", it worked amazing beside the mouse/touchpad not being detected 😂♥ I think I can just try to modify the gol script too. Buuut I'll also try the Lxde, probably will work even better XD
Some Desktops can peacefully coexist and even run at the same time, use a different DISPLAY id if you intend to run them at the same time. The following desktops were tested with Debian 12: XFCE Desktop: Install: task-xfce-desktop Create the file: /usr/bin/gox Xephyr -br -fullscreen -resizeable :40 & sleep 5 sudo -u DISPLAY=:40 startxfce4 & The following desktops were tested with Debian 11: KDE Desktop: Install: task-kde-desktop Create the file: /usr/bin/gok Xephyr -br -fullscreen -resizeable :40 & sleep 5 DISPLAY=:40 startplasma-x11 & GNOME Desktop: Install: task-gnome-desktop, mutter In the script below, the ChromeOS display size is 1518x853. 33 has been subtracted from the height to compensate for the top bar. You may have to experiment with the height. The display size can be found in Chromebook Settings > Device > Displays > Display size. Create the file: /usr/bin/gog export MUTTER_DEBUG_DUMMY_MODE_SPECS=1518x820 sleep 5 gnome-shell --nested --wayland &> /dev/null & IceWM Desktop: Install: icewm Create the file: /usr/bin/goice Xephyr -br -fullscreen -resizeable :40 & sleep 5 DISPLAY=:40 icewm-session & Menu → Settings → Themes → NanoBlue TWM Desktop: Install: twm, suckless-tools, nitrogen Create the file: /usr/bin/got Xephyr -br -fullscreen -resizeable :40 & sleep 5 DISPLAY=:40 twm &> /dev/null & DISPLAY=:40 nitrogen --restore &> /dev/null & Create the run command file TWMRC for TWM configuration: ~/.twmrc ShowIconManager IconifyByUnmapping Button3 = : root : ! “dmenu_run -fn ‘Mono-20’ &> /dev/null &” Mouse is invisible until first app opens. Right click the desktop to run Dmenu. Run Nitrogen first to setup the wallpaper. To shut down TWM, do killall Xephyr in Chromebook Terminal and then do a regular Linux shutdown
2008 - Linux containers created (LXC) 2018 - Chromebooks start running Linux 2021 - Chromebook Linux no longer in Beta This is the list of ChromeOS systems supporting Linux on ChromeOS: www.chromium.org/chromium-os/chrome-os-systems-supporting-linux/ Update on containers: discuss.linuxcontainers.org/t/important-notice-for-lxd-users-image-server/18479
I have not experimented with Wine. Here is an article that covers Wine on Chromebooks: alvarotrigo.com/blog/wine-chromebook/ You may also be interested in: chromeunboxed.com/run-a-variety-of-virtual-machines-on-your-chromebook-with-gnome-boxes/
hello @ruthake I followed all the steps which I appreciated greatly but am getting a black screen after starting up lxde that says DISPLAY:command not found. Any idea how to fix? I've rebooted the machine after shutting down server but the problem persists
Canonical, the primary source for containers has discontinued making containers. You can clone and modify the penguin Debian container. In some cases it may be possible to turn one distro into another one. Containers require bridge software. Multiple containers can run at the same time. Canonical is no longer supporting LXC: discuss.linuxcontainers.org/t/important-notice-for-lxd-users-image-server/18479 There are older articles: wiki.archlinux.org/title/Chrome_OS_devices/Crostini ubuntu.com/tutorials/install-ubuntu-on-chromebook#1-overview ChromeOS runs Linux in a nested structure: ChromeOS / CROSH -> VM / Termina -> LXC Container / penguin There are 2 ways to start up a CROSH terminal: Alt+Ctrl+T From the ChromeOS Chrome browser: URL: chrome-untrusted://crosh VM / Termina VMC list, start, stop, reconnect, destroy (USE DESTROY WITH CAUTION), and help: vmc list vmc start termina vmc stop termina vsh termina vmc destroy termina vmc --help LXC Container / penguin List, start, stop, connect user, connect root (it's dash dash space bash), help. In order to issue an lxc stop command, you must first exit the container: lxc list lxc start penguin lxc stop penguin lxc exec penguin su - lxc exec penguin -- bash lxc --help You may find it helpful to clone a container. A container must be stopped before it can be cloned: lxc copy penguin mycontainer lxc list lxc start mycontainer lxc stop mycontainer lxc exec mycontainer su - lxc exec mycontainer -- bash Example session: Alt+Ctrl+T vmc start termina lxc start penguin lxc exec penguin su - gol exit lxc stop penguin exit vmc stop termina exit ------------------------------------ The issue with non Google containers, is the bridge software that connects the container to the outside world. This will affect communications and GUI applications. Cros Container Guest Tools is Google's bridge software (chromium.googlesource.com/chromiumos/containers/cros-container-guest-tools/ ). Bazel build is the install software recommended by Google. By default, Google uses Canonical (Ubuntu) containers. Here's a list of ChromeOS definitions and links: www.chromium.org/chromium-os/developer-library/guides/containers/containers-and-vms/
Greetings Ruth, I hope this message finds you well. I executed the steps correctly. Was able to Linux desktop running and working great. Couple days later I go to open desktop and screen is black, I did see the pop up error message but no graphics. Any suggestions??
I would recommend shutting down Linux, shutting down the Chromebook, restart the Chromebook, put the Chromebook online, start up Linux again, and try executing the gol script (6:52). -------------------------- It could also be the lock file. Try removing the lock file and then try starting the desktop again: sudo rm /tmp/.X20-lock gol -------------------------- If possible, it would be helpful to have the error message, I know sometimes they can disappear before having a chance to read them. If the message is disappearing before you have a chance to read it, it may help to screen record it from the ChromeOS side.
@ruthake hello Ruth, thanks for responding. Yes I did shutdown and chromebook about 4-5 times and that didn't work. I tried to followed the steps again but no luck. Can I uninstall the desktop and reinstall it?
After trying to start the desktop, return to the ChromeOS Terminal app for Linux. From there, try to launch galculator: galculator Tell me what you see.
It sounds like it could possibly be a bad update, this is difficult to troubleshoot without an error message. Please try the following from the ChromeOS Terminal app for Linux: sudo systemctl disable lightdm Reboot Linux. gol If the desktop doesn't start, please create this /usr/bin/gol2 script: sudo nano /usr/bin/gol2 sudo killall Xephyr sudo rm /tmp/.X20-lock sleep 3 Xephyr -br -fullscreen -resizeable :20 & sleep 5 DISPLAY=:20 startlxde & Ctrl+O, Enter, and Ctrl+X to save the file and exit nano. sudo chmod +x /usr/bin/gol2 gol2 If the gol2 script doesn't work, then there are 3 desktops (IceWM, TWM, and I3wm) that can be installed without causing issues with LXDE. Let's try IceWM (it's lightweight and takes about 1 min to install. I strongly recommend changing the theme to NanoBlue.): sudo apt install icewm -y sudo nano /usr/bin/goice Xephyr -br -fullscreen -resizeable :20 & sleep 5 DISPLAY=:20 icewm-session & Ctrl+O, Enter, and Ctrl+X to save the file and exit nano. sudo chmod +x /usr/bin/goice goice Menu > Settings > Themes > NanoBlue If that doesn't work, please copy and paste the gol script for LXDE. -------------------------- For your convenience, here's the full list of install commands. From Terminal app: sudo apt update -y sudo apt dist-upgrade -y sudo apt install task-lxde-desktop -y sudo apt install xserver-xephyr -y sudo apt install nano -y sudo systemctl disable lightdm sudo nano /usr/bin/gol Xephyr -br -fullscreen -resizeable :20 & sleep 5 DISPLAY=:20 startlxde & Ctrl-O, Enter, Ctrl-X sudo chmod +x /usr/bin/gol gol
Some Desktops can peacefully coexist and even run at the same time, use a different DISPLAY id if you intend to run them at the same time. The following desktops were tested with Debian 12: XFCE Desktop: Install: task-xfce-desktop Create the file: /usr/bin/gox Xephyr -br -fullscreen -resizeable :40 & sleep 5 sudo -u DISPLAY=:40 startxfce4 & The following desktops were tested with Debian 11. KDE Desktop: Install: task-kde-desktop Create the file: /usr/bin/gok Xephyr -br -fullscreen -resizeable :40 & sleep 5 DISPLAY=:40 startplasma-x11 & GNOME Desktop: Install: task-gnome-desktop, mutter In the script below, the ChromeOS display size is 1518x853. 33 has been subtracted from the height to compensate for the top bar. You may have to experiment with the height. The display size can be found in Chromebook Settings > Device > Displays > Display size. Create the file: /usr/bin/gog export MUTTER_DEBUG_DUMMY_MODE_SPECS=1518x820 sleep 5 gnome-shell --nested --wayland &> /dev/null & IceWM Desktop: Install: icewm Create the file: /usr/bin/goice Xephyr -br -fullscreen -resizeable :40 & sleep 5 DISPLAY=:40 icewm-session & Menu → Settings → Themes → NanoBlue TWM Desktop: Install: twm, suckless-tools, nitrogen Create the file: /usr/bin/got Xephyr -br -fullscreen -resizeable :40 & sleep 5 DISPLAY=:40 twm &> /dev/null & DISPLAY=:40 nitrogen --restore &> /dev/null & Create the run command file TWMRC for TWM configuration: ~/.twmrc ShowIconManager IconifyByUnmapping Button3 = : root : ! “dmenu_run -fn ‘Mono-20’ &> /dev/null &” Mouse is invisible until first app opens. Right click the desktop to run Dmenu. Run Nitrogen first to setup the wallpaper. To shut down TWM, do killall Xephyr in Chromebook Terminal and then do a regular Linux shutdown
I believe this what you are looking for: support.google.com/chrome/a/answer/6220366?hl=en#zippy= There are more aggressive methods of installing Linux. The Chrome Unboxed Team covers alternative methods for installing Linux on Chromebooks. Chrome Unboxed Links: www.youtube.com/@chromeunboxed chromeunboxed.com/ Rooting is a line I don't cross because it can destroy someone's Chromebook. On a Chromebook, developer mode is rooting. This will also erase everything on your Chromebook. I recommend creating a recovery chip before going into developer mode. If the firmware is damaged, the recovery chip won't work: chromewebstore.google.com/detail/chromebook-recovery-utili/pocpnlppkickgojjlmhdmidojbmbodfm?pli=1 Here's the official Google documentation for developer mode: www.chromium.org/chromium-os/developer-library/guides/device/developer-mode/ Here's a website dedicated to rooting a Chromebook: mrchromebox.tech/
It looks like Lenovo N23 supports Linux on ChromeOS: www.chromium.org/chromium-os/chrome-os-systems-supporting-linux/ You may wish to see if the Linux development environment is available from Chromebook Settings > Advanced > Developers > Linux development environment. If the option is there, then you can try following my videos: Install Linux On A Chromebook (No Rooting!): ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-4bKeaVw_eqc.html How To Install And Get A Linux Desktop On A Chromebook! (No Rooting!): ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-Ea6xKZD41hI.html&lc Side loading Linux on ChromeOS is beyond the scope of what I do.
I have not specifically used ChromeOS Flex, but I believe the process is the same. Linux can be installed and deleted as many times as desired from Chromebook Settings > About ChromeOS > Developers > Linux development environment. Or just search for Linux in Chromebook Settings. Base Install: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-4bKeaVw_eqc.html Desktop Install: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-Ea6xKZD41hI.html ---------------------------------- For your convenience, here are the complete install instructions: To enable Linux from Chromebook Settings: Search for Linux > select Set up Linux development environment Click the Set up Button Click the Next button Enter a Username Select Disk Size (can be changed later) Click the Install button To get a LXDE desktop: From Terminal app: sudo apt update -y sudo apt dist-upgrade -y sudo apt install task-lxde-desktop -y sudo apt install xserver-xephyr -y sudo apt install nano -y sudo systemctl disable lightdm sudo nano /usr/bin/gol Xephyr -br -fullscreen -resizeable :20 & sleep 5 DISPLAY=:20 startlxde & Ctrl-O, Enter, Ctrl-X sudo chmod +x /usr/bin/gol gol
@@ruthake Thank you very much! I will give it a try, and let you know how it turns out. I use the LXDE desktop on my 32-bit architecture test machines, including on Debian 12. If this works, it will make my ChromeOS test machine more useful. I develop and support the KeyMusician Keyboard application.
Well, it worked on ChromeOS Flex, for the most part. My application, running on the LXDE desktop, can position all of its windows, and even access the browser to access the Help and Tutorials. There are big problems with audio that will have to be puzzled-out. I got it to work once with JACK and QSynth. But never again. Shutting down the desktop was a problem, because it didn't work the same as you demonstrated in the video. Right-clicking on the terminal's tray icon didn't give me the option to shut down Linux - only to close it. I entered the terminal, and did a control-C, which seemed to stop the desktop. There appears to be a shelf icon for the desktop itself, but right-clicking it yields only the option to close it (not to shut down Linux).
Thank you for the feedback! This script may be a helpful alternative to shutting down the desktop: nano /usr/bin/gostop sudo killall Xephyr &> /dev/null & sudo rm /tmp/.X20-lock &> /dev/null & Ctrl+O, Enter, and Ctrl+X to save the file and exit nano. sudo chmod +x /usr/bin/gostop To shut down Linux from the ChromeOS Terminal app: gostop exit -------------------------- If an application does not have sound, here's an option you may want to try: env XDG_RUNTIME_DIR=/run/user/1000 GDK_BACKEND=x11 If that doesn't work, try (the bigger the number the smaller the screen, the smaller the number the larger the screen): sommelier -X --scale=1.2 --glamor For awareness: ALSA (Advanced Linux Sound Architecture) - Kernel based sound service. PulseAudio - A depreciated sound server. JACK (JACK Audio Connection Kit) - A depreciated sound server. PipeWire - Handles multimedia for Linux such as audio. PipeWire is replacing PulseAudio and JACK sound servers. WirePlumber - Manages PipeWire. XDG (Cross-System Group) - XDG environmental variables help programs find things like PipeWire and D-Bus. D-Bus (Desktop Bus) - An IPC (InterProcess Communications) middleware meaning it helps programs talk to each other.
@@ruthake Thanks. This does allow me to shut down the LXDE desktop cleanly. The KeyMusician Keyboard ran on it, using QSynth and JACK, connected to a USB audio interface. To my surprise, even with this audio arrangement, there was a lot of (too much) latency for live performance. I tried the same thing on the ChromeOS Flex desktop, and it has the same excessive latency. Apparently changes have gone in causing that. It used to have a noticeable, but not too large, amount of latency. It seems to be yet another chapter in the saga of my testing on Chromebook or ChromeOS Flex. There's always some "gotcha" that makes it unusable, or marginally usable, no matter what you try. I am beginning to conclude, that with Chromebook or ChromeOS Flex, the only winning move is not to play...
LXDE uses Openbox as the window manager: openbox.org/wiki/LXDE Here's an example on installing and configuring Openbox: www.maketecheasier.com/configure-andcustomize-openbox/
Some Desktops can peacefully coexist and even run at the same time, use a different DISPLAY id if you intend to run them at the same time. is your user id. These have not yet been tested with Debian 12. KDE Desktop: Install: task-kde-desktop Create the file: /usr/bin/gok Xephyr -br -fullscreen -resizeable :40 & sleep 5 DISPLAY=:40 startplasma-x11 & XFCE Desktop: Install: task-xfce-desktop Create the file: /usr/bin/gox Xephyr -br -fullscreen -resizeable :40 & sleep 5 pkexec --user env DISPLAY=:40 startxfce4 &> /dev/null & GNOME Desktop: Install: task-gnome-desktop, mutter In the script below, the ChromeOS display size is 1518x853. 33 has been subtracted from the height to compensate for the top bar. You may have to experiment with the height. The display size can be found in Chromebook Settings > Device > Displays > Display size. Create the file: /usr/bin/gog export MUTTER_DEBUG_DUMMY_MODE_SPECS=1518x820 sleep 5 gnome-shell --nested --wayland &> /dev/null & IceWM Desktop: Install: icewm Create the file: /usr/bin/goice Xephyr -br -fullscreen -resizeable :40 & sleep 5 DISPLAY=:40 icewm-session & Menu → Settings → Themes → NanoBlue TWM Desktop: Install: twm, suckless-tools, nitrogen Create the file: /usr/bin/got Xephyr -br -fullscreen -resizeable :40 & sleep 5 DISPLAY=:40 twm &> /dev/null & DISPLAY=:40 nitrogen --restore &> /dev/null & Create the run command file TWMRC for TWM configuration: ~/.twmrc ShowIconManager IconifyByUnmapping Button3 = : root : ! “dmenu_run -fn ‘Mono-20’ &> /dev/null &” Mouse is invisible until first app opens. Right click the desktop to run Dmenu. Run Nitrogen first to setup the wallpaper. To shut down TWM, do killall Xephyr in Chromebook Terminal and then do a regular Linux shutdown
Here's a complete set of instructions for installing a Ubuntu container: ubuntu.com/tutorials/install-ubuntu-on-chromebook#1-overview Here's a list of ChromeOS definitions and links: www.chromium.org/chromium-os/developer-library/guides/containers/containers-and-vms/ I believe the most difficult part will be with the bridge software.
I have not tested lxqt. Here are some desktops I've tested. Some Desktops can peacefully coexist and even run at the same time, use a different DISPLAY id if you intend to run them at the same time. is your user id. The following desktops were tested with Debian 11. KDE Desktop: Install: task-kde-desktop Create the file: /usr/bin/gok Xephyr -br -fullscreen -resizeable :40 & sleep 5 DISPLAY=:40 startplasma-x11 & XFCE Desktop: Install: task-xfce-desktop Create the file: /usr/bin/gox Xephyr -br -fullscreen -resizeable :40 & sleep 5 pkexec --user env DISPLAY=:40 startxfce4 &> /dev/null & GNOME Desktop: Install: task-gnome-desktop, mutter In the script below, the ChromeOS display size is 1518x853. 33 has been subtracted from the height to compensate for the top bar. You may have to experiment with the height. The display size can be found in Chromebook Settings > Device > Displays > Display size. Create the file: /usr/bin/gog export MUTTER_DEBUG_DUMMY_MODE_SPECS=1518x820 sleep 5 gnome-shell --nested --wayland &> /dev/null & IceWM Desktop: Install: icewm Create the file: /usr/bin/goice Xephyr -br -fullscreen -resizeable :40 & sleep 5 DISPLAY=:40 icewm-session & Menu → Settings → Themes → NanoBlue TWM Desktop: Install: twm, suckless-tools, nitrogen Create the file: /usr/bin/got Xephyr -br -fullscreen -resizeable :40 & sleep 5 DISPLAY=:40 twm &> /dev/null & DISPLAY=:40 nitrogen --restore &> /dev/null & Create the run command file TWMRC for TWM configuration: ~/.twmrc ShowIconManager IconifyByUnmapping Button3 = : root : ! “dmenu_run -fn ‘Mono-20’ &> /dev/null &” Mouse is invisible until first app opens. Right click the desktop to run Dmenu. Run Nitrogen first to setup the wallpaper. To shut down TWM, do killall Xephyr in Chromebook Terminal and then do a regular Linux shutdown