You are not logged in.
AppImage is also available. Sometimes issues in .deb version do not affect AppImage version:
https://musescore.org/en/download
If proficient UNIX/Linux usage is a craft, then the shell is the craftsman's workbench. I think having a solid grasp of bash--and knowing how it's different from other shells--is key. You can't go wrong by starting with the shell because it's essential no matter what your specific needs are. Where you go from there depends on your specific needs and interests.
- best bash tutorial anywhere: http://tldp.org/LDP/abs/html/
- compilation of bash pitfalls: https://mywiki.wooledge.org/BashPitfalls
- learn to recognize bashisms: https://mywiki.wooledge.org/Bashism
Write as many shell scripts as you can. After a script is working, make it correct. After it's correct, make it beautiful. Here is a tool to help you improve your existing shell scripts: https://github.com/koalaman/shellcheck
I hope that helps
Until I discovered fpm, creating my own packages was always a hassle. With fpm it becomes quite trivial.
In case you'd like to check it out: https://github.com/jordansissel/fpm
The official Tiny Core Linux wiki is down. Developers are aware and working on it. In the meantime, wiki can be accessed via this mirror:
https://www.linuxsecrets.com/tinycoreli … start.html
Their forum is alive and well:
http://forum.tinycorelinux.net
Main reason to strip binaries is to make them smaller (I've sometimes seen them shrink to 50-75% of original size). TCL packages contain stripped binaries in the interest of keeping everything as tiny as possible.
Lopsided, like I said. They expect blind trust but are themselves unwilling to trust.
Trust should go both ways, especially in times of crisis.
We can disagree on this, but I don't think it's ever acceptable to ask someone to run closed source software. Principles don't just fly out the window when times are tough. I think it should be the opposite--good principles provide guidance, should be like light beams to help us find our way when the path is dark.
These folks need to come up with an algorithm that disallows data manipulation/cheating, then open up the code. Keeping the code closed for the highlighted reason is just a copout for bad software design.
Asking people to pitch in computing power but they refuse to show the source code? That's lopsided and creepy.
I'll be happy to contribute and spread the word when they make the source code available.
I stand corrected, and edited my walk-through to reflect this. Thank you, HoaS.
You are not careful! I repeat!
Must be:hwclock --utc
2020-02-28 20:15:50.889268+00:00
That's not correct. The output of the hwclock command is your local time, and what comes after the final + or - is your timezone's offset from UTC. +00:00 would only be correct for users who live in Greenwich
Please go over the steps above in my longer post. If you still have questions after that, let me know and I'll try to help.
I agree with Eaglet that the way hwclock works is a bit confusing. So I decided to get to the bottom of things on my machine. Here's what I did. I hope it helps...
First, we have to realize that the hardware clock knows nothing about timezone. It holds a date and a time, that's it.
It's up to the user to tell the operating system the correct timezone and whether the hardware clock is set to UTC (recommended for Unix-like OS) or localtime (recommended if you dual boot with Windows).
Before I show you the output of some commands, here are some facts:
- It's currently 15:35 UTC
- I live in Eastern USA, where timezone is EST (UTC-5)
- My local time is 10:35 a.m.
Okay, now for the commands:
$ sudo hwclock --get --debug | grep "Time read" # this command will show exactly what the hardware clock is saying
Time read from Hardware Clock: 2020/03/05 15:35:32
# Hmmm, hardware clock says it's 15:35, so it's obviously set to UTC. Let's make sure my OS knows that...
$ cat /etc/adjtime
0.000000 1583421556 0.000000
1583421556
UTC
# Notice the third line in the output above. That line tells the OS how to interpret the hardware clock. Mine should say UTC, which it does.
$ cat /etc/timezone
America/New_York
# So hardware clock is set to the correct UTC time, OS knows to interpret hardware clock as UTC, and my timezone is correct. Therefore, when "date" or "hwclock" command puts it all together, it should spit out my correct local time:
$ date
Thu Mar 5 10:35:06 EST 2020 # yep, that's the correct local time
$ sudo hwclock # or sudo hwclock --utc
2020-03-05 10:35:09.546002-0500 # yep, that's the correct local time
So as you can see, your OS showing you the correct local time is a complex operation. It requires 3 things: hardware clock being set correctly (to either UTC or local time), your OS knowing whether hardware clock is set to UTC or local time, and your OS knowing your time zone.
Hope that helps.
P.S. The --utc and --localtime flags to hwclock are to tell hwclock which timescale the hardware clock is set to (hwclock assumes UTC, so the --utc flag is redundant). Eaglet, If you your hardware clock is set to UTC you should never use the --localtime flag because it will give you incorrect (and potentially very confusing) results.
No resolution. Also, I don't know if this is peculiar to T400 or all laptops.
Note that the ExpressCard came with a power cable, but I don't use it because I don't want to carry around an extra cable.
So here is what I've discovered:
- ExpressCard never works on battery power.
- ExpressCard works if laptop was on AC when it booted and has been on AC continuously up to and including when I use the ExpressCard.
- If laptop was on battery power when it booted and later I switch to AC power, I need to eject and re-insert the ExpressCard in order for it to work.
Hope this helps.
If that's true, switching your email client to UTF-16 encoding would properly display the wide characters in your friend's emails--but would cause problems displaying wide characters in emails to you from people who use UTF-8 (the de facto standard encoding these days).
Ron,
I don't think the fact that your friend's email client is proprietary has anything to do with it. Also, uni2ascii is unlikely to help. It sounds like an encoding issue.
The emoji in question is the "slightly smiling face" (formal Unicode notation: U+1F642, details about it here: https://www.iemoji.com/view/emoji/1112/ … ling-face). Here are the relevant details:
UTF-8 encoding: 0xf09f9982
UTF-16 encoding: 0xd83dde42 (notice this matches the "D83D "DE42" in your original post)
How are you viewing your friend's emails? In a web browser? If so, take a look at that emoji here:
https://unicode.org/emoji/charts/full-e … html#1f602
If you can see the "slightly smiling face" emoji there under the "Browser" column, we'll know it's not a browser or font issue on your end.
My best guess is that your friend's email client is using UTF-16 encoding, while your email client is expecting UTF-8 encoding. Different encodings agree on how to represent 7-bit ASCII characters but differ on how they represent wider characters such as emojis.
Have your friend check their outgoing mail encoding and change it to UTF-8 if it's currently something else.
I bumped into this the other day and found it to be the best and most level-headed criticism of systemd I've yet seen:
http://landley.net/notes-2014.html#23-04-2014
It's worth reading.
Bottomline:
Linux-based OSes have always been modular--built of interchangeable components (with the exception of the kernel, which gets a pass because it defines these OSes). This allows for a lot of flexibility and is the reason why tinkerers find Linux attractive.
BusyBox and systemd are, in a way, good twin and evil twin: Both are monolithic userspaces, but while BusyBox goes out of its way to respect modularity (user can enable all, none, or any subset of its functionality; it can coexist with tools that provide similar functionality), systemd does the opposite.
Forking the OpenBSD kernel in order to avoid systemd and/or other linuxland woes makes no sense. By virtue of not being Linux, OpenBSD (as-is) does not suffer from linuxland woes.
@nobodyuknow - Try adding blacklist pcspkr to /etc/modprobe.d/blacklist (create /etc/modprobe.d/blacklist if it doesn't already exist).
With extensions/packages. I don't think it would be appropriate to take up space on Devuan's servers to go into great detail here. If you decide to try it and need help, start a thread on forum.tinycorelinux.net or send me a personal message there (my user name is GNUser there, too).
Everything you need to know to get started is in the gratis e-book "Into the Core":
http://www.tinycorelinux.net/corebook.pdf
jaromil - thank you for pointing out sup, I wasn't aware of it. I love it already. Small is beautiful!
Here is the actual proposal: https://www.debian.org/vote/2019/vote_002
I've been watching this closely. Voting ends on December 27.
This year I learned to use OpenBSD and also Tiny Core Linux 64-bit (they call it "Pure64" for some reason). Both of these operating systems are completely immune to systemd nonsense. It doesn't hurt to have options...
Tiny Core uses Busybox init and is minimalistic in every regard, but can be built up to be a full desktop replacement OS. It has been my daily driver since August 2019 and at this point I've added enough polish to it that it does all I need. Warning: It is very much a do-it-yourself OS, similar to Arch Linux but even more extreme in its minimalism. I think Devuan users would find TCL much to their liking.
Hopefully Debian will do the right thing and my wanderings will have been for naught!
siva, change test to brightness so that the source file looks like this:
#include <stdio.h>
#include <fcntl.h> // Use "open"
#include <unistd.h> // For "close"
int main() {
// Open the brightness file.
FILE *fp = fopen("/sys/class/backlight/acpi_video0/brightness", "w+");
// Adjust brightness value.
fprintf(fp, "5");
// End.
fclose(fp);
return 0;
}
Then compile the file, change ownership to root, and set SUID:
$ gcc -o testing testing.c
$ sudo chown root:root testing
$ sudo chmod u+s testing
Now run the executable as regular user and it will change the brightness:
$ ./testing # boom! brightness changes
It was segfaulting because the binary did not have enough permissions to open the file.
Even if user makes a shell script SUID, the linux kernel will ignore it because it's a major security risk. https://unix.stackexchange.com/a/2910
Here is a simple demonstration of how SUID is set, but kernel ignores it:
$ echo '#!/bin/sh
apt update' >testing
$ chmod a+x ./testing
$ sudo chown root:root ./testing
$ sudo chmod u+s ./testing
$ ls -l ./testing
-rwsr-xr-x 1 root root 21 Dec 13 09:43 ./testing # the 's' shows that SUID bit is set
$ ./testing
Reading package lists... Done
W: chmod 0700 of directory /var/lib/apt/lists/partial failed - SetupAPTPartialDirectory (1: Operation not permitted)
E: Could not open lock file /var/lib/apt/lists/lock - open (13: Permission denied)
E: Unable to lock directory /var/lib/apt/lists/
W: Problem unlinking the file /var/cache/apt/pkgcache.bin - RemoveCaches (13: Permission denied)
W: Problem unlinking the file /var/cache/apt/srcpkgcache.bin - RemoveCaches (13: Permission denied)
Permission is denied because the script is running as regular user, not root (i.e., SUID was ignored).
Just one note about iridium: The control file inside the .deb package provided by the developers specifies a version of libfontconfig1 that's higher than what's available in the Devuan ASCII repositories. However, the browser does work just fine with the older version of libfontconfig1 that Devuan ASCII uses. The workaround is to unpack the .deb, delete the specified libfontconfig1 version number, and repack the .deb before installing it. Then it works like a charm.
golinux - I use iridium as my daily driver. It is an "ungoogled chromium". Highly recommended. https://iridiumbrowser.de/
Thank you very much for that, ToxicExMachina. Great find!!! My laptop does happen to run Libreboot. I had not heard of nvramcui (or its cousin, nvramtool) before. Very interesting.
According to this, Libreboot locks the CMOS table, so the only way to modify BIOS settings is to download the Libreboot rom, modify it with nvramtool, then flash the modified rom.
Alas, touchpad does not seem to be an option in my CMOS table:
$ sudo nvramtool -a
boot_option = Fallback
baud_rate = 115200
debug_level = Spew
sata_mode = AHCI
power_on_after_fail = Disable
first_battery = Primary
bluetooth = Enable
wwan = Enable
wlan = Enable
trackpoint = Enable
fn_ctrl_swap = Disable
sticky_fn = Disable
boot_devices =
boot_default = 0x0
power_management_beeps = Enable
low_battery_beep = Enable
uwb = Disable
hybrid_graphics_mode = Integrated Only
gfx_uma_size = 256M
volume = 0x3
This is the closest I've come to a software solution.
Thanks, ralph.ronnquist. Indeed it does (synclient TouchpadOff=1). This does not interfere with the trackpoint.
However, I've found that synclient, xinput, et al. are only effective in preventing the touchpad from controlling the pointer. That's it. On a low level, they leave the touchpad very much alive--run sudo cat /dev/input/eventX and watch all the chatter from the "disabled" touchpad when anything comes near it. This noise prevents the system from becoming idle when laptop's lid is shut.
Cool! I love distros like this. Thanks for pointing it out.
Tiny Core Linux, which I have grown to really appreciate, has some similarities: Busybox init, Busybox userland, minimalistic package manager. Differences are that it uses glibc (instead of musl) and--the biggest difference--that it's designed in such a way that, at every boot, the system is rebuilt from a "fresh install" based on the instructions you provide.
There are four places where the user provides instructions:
1. Boot loader "boot codes"
2. List of packages to load
3. A special tarball that holds your configuration files
4. Startup jobs in /opt/bootlocal.sh (root jobs) and in ~/.X.d/ (normal user jobs)
At most, only /opt and home directories are persistent. It's an ingenious design that gives you quite the clean feeling because all changes to the base system are in only one of these four places and can be reverted by simply editing a file or tarball then rebooting.
You can read all about it here: http://distro.ibiblio.org/tinycorelinux/corebook.pdf