Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

90-second startup and shutdown delays: systemd? samba?

1,091 views
Skip to first unread message

crankypuss

unread,
Feb 26, 2016, 10:35:35 AM2/26/16
to
Debian-jessie on Dell XPS13, LXDE with cairo-dock.

From time to time I've seen a message on boot startup saying that a
"startup job" (which smells like systemd) was running and the thing
dutifully ticked down from 90-seconds to zero for no obvious reason.

From time to time there is about a 90-second delay before shutdown
actually powers off the machine; the screen goes blank and it just sits
there then eventually powers down.

From the digging around I've done, it seems like some service like maybe
samba has been installed without my directly requesting it and it has a
daemon fiddling where it ought not be to begin with; but that is just a
guess and doesn't narrow the field of possibilities.

Suggestions on how to resolve this?

--
http://totally-portable-software.blogspot.com
[Sat Feb 20: "Whats wrong with linux?"]

Chris Ahlstrom

unread,
Feb 26, 2016, 10:56:13 AM2/26/16
to
crankypuss wrote this copyrighted missive and expects royalties:

> Debian-jessie on Dell XPS13, LXDE with cairo-dock.
>
> From time to time I've seen a message on boot startup saying that a
> "startup job" (which smells like systemd) was running and the thing
> dutifully ticked down from 90-seconds to zero for no obvious reason.
>
> From time to time there is about a 90-second delay before shutdown
> actually powers off the machine; the screen goes blank and it just sits
> there then eventually powers down.
>
> From the digging around I've done, it seems like some service like maybe
> samba has been installed without my directly requesting it and it has a
> daemon fiddling where it ought not be to begin with; but that is just a
> guess and doesn't narrow the field of possibilities.
>
> Suggestions on how to resolve this?

It is a systemd issue. I experienced it on shutdown on Debian Sid.
I ended up setting some systemd timeout down to 5 seconds.

https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1457400

/etc/systemd/system.conf

or a similar file should be your friend

http://www.freedesktop.org/software/systemd/man/systemd-system.conf.html

search for

DefaultTimeoutStartSec=
DefaultTimeoutStopSec=
TimeoutSec=

and enter lower values

Good luck! When I tell a machine to shut down, I want it to shut down.
No waiting for "Task to close" like some freakin' Windoze box!

--
Gratitude and treachery are merely the two extremities of the same procession.
You have seen all of it that is worth staying for when the band and the gaudy
officials have gone by.
-- Mark Twain, "Pudd'nhead Wilson's Calendar"

Bit Twister

unread,
Feb 26, 2016, 11:06:26 AM2/26/16
to
On Fri, 26 Feb 2016 08:35:33 -0700, crankypuss wrote:
> Debian-jessie on Dell XPS13, LXDE with cairo-dock.
>
> From time to time I've seen a message on boot startup saying that a
> "startup job" (which smells like systemd) was running and the thing
> dutifully ticked down from 90-seconds to zero for no obvious reason.

Well the obvious reason is the service did not start within the
desired time limit.


> From time to time there is about a 90-second delay before shutdown

Yup, seen those more than one.

> actually powers off the machine; the screen goes blank and it just sits
> there then eventually powers down.
>
> From the digging around I've done, it seems like some service like maybe
> samba has been installed without my directly requesting it and it has a
> daemon fiddling where it ought not be to begin with; but that is just a
> guess and doesn't narrow the field of possibilities.

Well either it was installed on initial install or you did install
something which brought the additional software/service.

> Suggestions on how to resolve this?

Check the status of the failed service, look in journalctl, Control s/q
to stop/start the scrolling of messages during boot up/down and get
service name

man systemctl
man journalctl

Personally I mask services I do not want started, and disable others I
might want to start/stop when desired like cups/httpd.

As for those that intermittently hang shutdown/reboots, I've added them to
my new_boot_logs script which I use to for shutdown/reboot as desired.

William Unruh

unread,
Feb 26, 2016, 11:08:07 AM2/26/16
to
GEt rid of the "splash quiet" options on bootup so you can see what it
is that taking the time on bootup and shutdown. Guessing was always a
bad idea in debugging.
Also go to the "No X" startup, so that the xdm screen does not overwrite
everything on bootup.

Of course one problem is that the startup is so fast on the XPS13 you
might not see what is happening, although that 90sec delay should help.

On 2016-02-26, crankypuss <inv...@invalid.invalid> wrote:
> Debian-jessie on Dell XPS13, LXDE with cairo-dock.
>
> From time to time I've seen a message on boot startup saying that a
> "startup job" (which smells like systemd) was running and the thing
> dutifully ticked down from 90-seconds to zero for no obvious reason.
>
> From time to time there is about a 90-second delay before shutdown
> actually powers off the machine; the screen goes blank and it just sits
> there then eventually powers down.
>
> From the digging around I've done, it seems like some service like maybe
> samba has been installed without my directly requesting it and it has a
> daemon fiddling where it ought not be to begin with; but that is just a
> guess and doesn't narrow the field of possibilities.

Well, that is easy enough to check. See if samba is installed. If it is,
uninstall it.

William Unruh

unread,
Feb 26, 2016, 11:10:40 AM2/26/16
to
You could always just hit the big red button. Of course then you have to
put up with corrupted filesystems, etc, but it will have shut down. Ie,
some things should be waited for since they have to clean up after
themselves. Having said that, the long wait is indicative of something
having gone wrong. The fact that so little info is provided as to what
is what is annoying.

Bit Twister

unread,
Feb 26, 2016, 11:14:25 AM2/26/16
to
On Fri, 26 Feb 2016 10:53:02 -0500, Chris Ahlstrom wrote:
> crankypuss wrote this copyrighted missive and expects royalties:
>>
>> Suggestions on how to resolve this?
>
> It is a systemd issue. I experienced it on shutdown on Debian Sid.
> I ended up setting some systemd timeout down to 5 seconds.
>
>
> Good luck! When I tell a machine to shut down, I want it to shut down.
> No waiting for "Task to close" like some freakin' Windoze box!

Yep, there is good and bad luck. Brute force shutdown of service may/can
corrupt the files that the service is writing into.

I have had corrupted database files more than once. It has definitely
broke me just knocking a service off line without a graceful shutdown.

crankypuss

unread,
Feb 26, 2016, 11:20:38 AM2/26/16
to
Thanks. I've updated to the following, will test soon:

-#ShutdownWatchdogSec=10min
+#ShutdownWatchdogSec=0

-#DefaultTimeoutStartSec=90s
-#DefaultTimeoutStopSec=90s
+#DefaultTimeoutStartSec=100ms
+#DefaultTimeoutStopSec=100ms

-#DefaultStartLimitInterval=10s
+#DefaultStartLimitInterval=1s



> Good luck! When I tell a machine to shut down, I want it to shut
> down. No waiting for "Task to close" like some freakin' Windoze box!

Exactly. Thanks again.

crankypuss

unread,
Feb 26, 2016, 11:44:09 AM2/26/16
to
No joy. The changes don't seem to harm anything (anything that's
obvious yet, anyway), but it still waits on shutdown.

What message log should I be looking at to see what it thought it was
doing during the previous shutdown?

crankypuss

unread,
Feb 26, 2016, 11:45:11 AM2/26/16
to
It annoys me too, where can I find some kind of log information relating
to the last shutdown?

Chris Ahlstrom

unread,
Feb 26, 2016, 11:45:34 AM2/26/16
to
Bit Twister wrote this copyrighted missive and expects royalties:

> On Fri, 26 Feb 2016 10:53:02 -0500, Chris Ahlstrom wrote:
>> crankypuss wrote this copyrighted missive and expects royalties:
>>>
>>> Suggestions on how to resolve this?
>>
>> It is a systemd issue. I experienced it on shutdown on Debian Sid.
>> I ended up setting some systemd timeout down to 5 seconds.
>>
>> Good luck! When I tell a machine to shut down, I want it to shut down.
>> No waiting for "Task to close" like some freakin' Windoze box!
>
> Yep, there is good and bad luck. Brute force shutdown of service may/can
> corrupt the files that the service is writing into.

It's a laptop, not a server.

> I have had corrupted database files more than once. It has definitely
> broke me just knocking a service off line without a graceful shutdown.

I would assume cranky's XPS isn't running any database software that he
cares about.

Haven't noticed any issues on my laptop. I assumed the long (90 seconds)
delay was some kind of bug, not a service finishing up its writes.

--
Q: What did Tarzan say when he saw the elephants coming over the hill?
A: "The elephants are coming over the hill."

Q: What did he say when saw them coming over the hill wearing
sunglasses?
A: Nothing, for he didn't recognize them.

Carlos E. R.

unread,
Feb 26, 2016, 12:10:36 PM2/26/16
to
On 2016-02-26 17:45, crankypuss wrote:

> It annoys me too, where can I find some kind of log information relating
> to the last shutdown?

For the startup, there is analyze-blame. Correction, "systemd-analyze
blame", or rather "systemd-analyze critical-chain". I don't know if it
can report on the halt sequence.

--
Cheers,
Carlos E.R.

Bit Twister

unread,
Feb 26, 2016, 12:10:56 PM2/26/16
to
On Fri, 26 Feb 2016 11:42:22 -0500, Chris Ahlstrom wrote:
> Bit Twister wrote this copyrighted missive and expects royalties:
>
>>
>> Yep, there is good and bad luck. Brute force shutdown of service may/can
>> corrupt the files that the service is writing into.
>
> It's a laptop, not a server.

Does not need to be a server.

$ uname -r
4.1.15-desktop-2.mga5


> Haven't noticed any issues on my laptop. I assumed the long (90 seconds)
> delay was some kind of bug, not a service finishing up its writes.

Nope there should not be any long delays. Hangs are not just a service
finishing writes.

Bit Twister

unread,
Feb 26, 2016, 12:11:55 PM2/26/16
to
On Fri, 26 Feb 2016 09:45:12 -0700, crankypuss wrote:
>
> It annoys me too, where can I find some kind of log information relating
> to the last shutdown?

man journalctl

Bit Twister

unread,
Feb 26, 2016, 12:14:41 PM2/26/16
to
Pretty sure it is start up, not shutdown.

crankypuss

unread,
Feb 26, 2016, 12:14:42 PM2/26/16
to
William Unruh wrote:

>> From the digging around I've done, it seems like some service like
>> maybe samba has been installed without my directly requesting it and
>> it has a daemon fiddling where it ought not be to begin with; but
>> that is just a guess and doesn't narrow the field of possibilities.
>
> Well, that is easy enough to check. See if samba is installed. If it
> is, uninstall it.

There's no obvious "samba" package. Attempting to remove the samba core
libraries volunteers to uninstall dozens of necessary components.

Can someone with a Deb background tell me how to expunge all traces of
the dreaded samba?

Carlos E. R.

unread,
Feb 26, 2016, 12:39:59 PM2/26/16
to
On 2016-02-26 18:07, Bit Twister wrote:

>> Haven't noticed any issues on my laptop. I assumed the long (90 seconds)
>> delay was some kind of bug, not a service finishing up its writes.
>
> Nope there should not be any long delays. Hangs are not just a service
> finishing writes.

It can be race conditions. For instance, trying to mount a NFS share
before network has started. Or named. I do remember some people hitting
such a problem. Systemd has then a service waiting for another before
timing out and continuing.

--
Cheers,
Carlos E.R.

William Unruh

unread,
Feb 26, 2016, 4:19:40 PM2/26/16
to
On 2016-02-26, crankypuss <inv...@invalid.invalid> wrote:
The probme is that logging gets shut down as well. Best is to have the
stuff dumped to screen visible as it shuts down so you can see what it
is hanging up on. No spash screen on shutdown.

William Unruh

unread,
Feb 26, 2016, 4:21:57 PM2/26/16
to
It IS a bug agreed.
But in what is the question.
I do not know how you shutdown. I do
systemctl shutdown
and that seems towork better than other ways.

Bit Twister

unread,
Feb 26, 2016, 5:16:08 PM2/26/16
to
On Fri, 26 Feb 2016 21:18:55 -0000 (UTC), William Unruh wrote:
> On 2016-02-26, Bit Twister <BitTw...@mouse-potato.com> wrote:

> It IS a bug agreed.

Yep, no argument there.

> But in what is the question.
> I do not know how you shutdown. I do
> systemctl shutdown
> and that seems towork better than other ways.

I can agree with you on that command, but I have still seen service
timeouts using it.

My solution is a shutdown_servers script to take the problem services
down first then issue the stop or reboot as desired.

So far the ones acting up have been
_servers="mythbackend named postfix httpd dovecot stunnel mysqld chronyd dhcpd"

Bit Twister

unread,
Feb 26, 2016, 5:28:33 PM2/26/16
to
On Fri, 26 Feb 2016 21:16:37 -0000 (UTC), William Unruh wrote:

> The probme is that logging gets shut down as well.

True, but you still have the entries since the journal is closed after
the other services are done.

I know that because I wipe the journal files prior to issuing the
systemctl shutdown command and I still see Stopp(ed/ing), umount, ....
commands in the new log.


> Best is to have the
> stuff dumped to screen visible as it shuts down so you can see what it
> is hanging up on. No spash screen on shutdown.

I'll second that.

Marek Novotny

unread,
Feb 26, 2016, 6:13:13 PM2/26/16
to
I have the same problem with NFS mounts. In ubuntu it's a none issue. In
rhel 7.2, issuing a shutdown command while NFS shares are mounted
results in a very long wait. So far I've never waited it out fully. I
have to do the same thing. Script the dismount before the shutdown else
hang myself.

--
Marek Novotny
https://github.com/marek-novotny

Bit Twister

unread,
Feb 26, 2016, 9:09:43 PM2/26/16
to
If you run across a easy and working method for implementing a
systemd hook for that script, I would be interested. :)

Marek Novotny

unread,
Feb 26, 2016, 9:13:08 PM2/26/16
to
I'll take a crack at it on Saturday. It's starting to piss me off enough
to work out a solution.

Bit Twister

unread,
Feb 26, 2016, 9:25:45 PM2/26/16
to
It just dawned on me. I can put my own shutdown/reboot script in
/usr/local/sbin and call /sbin/shutdown at the bottom.

Mageia has already set $PATH to support it.
# echo $PATH
/usr/local/sbin:/usr/sbin:/usr/local/bin:/usr/bin:/usr/lib64/qt4/bin:/usr/lib64/qt5/bin

$ ls -ald /sbin
lrwxrwxrwx 1 root root 8 Jul 16 2015 /sbin -> usr/sbin

Marek Novotny

unread,
Feb 27, 2016, 12:41:53 AM2/27/16
to
I have that path as well. And oddly enough I think I just discovered
that the bug is wifi related on my end. When I am using Ethernet it
doesn't seem to happen. Tried it a few times and it shuts down normally.

crankypuss

unread,
Feb 27, 2016, 2:27:29 AM2/27/16
to
There's no hardwired network access here. Usually connected via
bluetooth to a NAP on my phone. Not sure what all they consider
"network shutdown" re this type of connection.

Will first try the multiply-suggested route of no splash and see what
can be gleaned. Thanks.

crankypuss

unread,
Feb 27, 2016, 10:29:40 AM2/27/16
to
I'm trying to use this thing through a GUI DE, in particular LXDE.
Click this and a dialog pops up, select "Shutdown". No telling what
it's actually doing. If it was me setting up the command it would be
"shutdown -h now" or whatever the exact syntax is, but it ain't me, it's
whoever made up the LXDE shutdown dialog or some config file they've
invented to store it in. I've yet to find a DE with even the level of
configurability that old gnome-classic provided, it's all been
modernized in the "dumbing down" sense.

So I smile sometimes, and try to figure out which is first of all the
things I have to do to get from here to there, and ...

I agree that first step on this particular issue is messages on the
screen. Not that I'll be able to read them all, considering the speed
at which they fly past on this "not a screamer" and the fact that I need
a magnifying glass to read them on this 3200x1800 13" screen that's
displaying the messages in what looks like about a 3-pica font.

As mentioned it doesn't always hang on shutdown. Next time it does
we'll see if I can find a magnifying glass in less than 90 seconds. <g>

Bit Twister

unread,
Feb 27, 2016, 12:06:36 PM2/27/16
to
On Sat, 27 Feb 2016 08:29:38 -0700, crankypuss wrote:

> I agree that first step on this particular issue is messages on the
> screen.

Or the journal.

> Not that I'll be able to read them all, considering the speed
> at which they fly past

Yep, I just watch for the red events, I can recommend adding your UID
to the systemd-journal group, log out/in, and have your desktop
environment kick off an journal audit script to have xmessage tell you
about any problems.

> on this "not a screamer" and the fact that I need
> a magnifying glass to read them on this 3200x1800 13" screen that's
> displaying the messages in what looks like about a 3-pica font.

Well this ain't windows, set the VGA resolution that makes it easier to read.
# grep vga /boot/grub/menu.lst | head -1
kernel (hd0,2)/boot/vmlinuz BOOT_IMAGE=mga5_64 root=LABEL=mga5 noresume noiswmd nokmsboot audit=0 vga=794

As for the journal audit script, here is something to start hacking.

$ cat /local/bin/ck_4_fail
#!/bin/bash
#************************************************************************
#*
#* ck_4_fail - check for any fail messages in journal
#*
#* Usually called from user's DE Autostart or cron
#*
#************************************************************************

# . /local/bin/functions_path_app

# snips from above pertinent to this script

#*****************************************
# set full path list for $PATH 64 bit
#*****************************************

export PATH="\
/usr/local/sbin:/usr/sbin:/sbin\
:/usr/local/bin:/usr/bin:/bin\
:/local/bin:/usr/libexec\
:/usr/local/games:/usr/games\
:/usr/lib64/kde4/libexec:/usr/kde4/libexec\
:/usr/lib64/qt5/bin:/usr/lib/qt5/bin\
:/usr/lib64/qt4/bin:/usr/lib/qt4/bin\
"
_exe=$(which $0)
_app=$(basename $_exe)
_node=$(awk -F '.' '{print $1}' /etc/hostname)

mkdir -p $HOME/tmp

if [ -z ${DISPLAY:-""} ] ; then
export DISPLAY=:0
fi
#****** end of snips *****************

_cnt=0
_fault_words='fail|e2fsck|unknown|could not open|needs|setfault|error|warning|invalid'
_xmsg_fn="$HOME/tmp/$_app.xmsg"
_xtitle="$_node $_app"
_xfont='-font 6x10'


#***************************************
#* kill old xmessage window if running
#***************************************

pgrep -f "title $_xtitle" > /dev/null 2>&1
if [ $? -eq 0 ] ; then
pkill -f "title $_xtitle"
fi
#*************************************************
#* collect any fail* messages since boot
#* filter out known messages that we cannot fix
#*************************************************

journalctl -b | grep -iE "$_fault_words" \
| grep -v '046D:C214' \
| grep -v 'ADMINISABSENTMINDED' \
| grep -v 'ACPI BIOS Warning' \
| grep -v 'ACPI _OSC' \
| grep -v 'ACPI Warning: SystemIO range' \
| grep -v 'AE_NOT_FOUND' \
| grep -v 'EAI_NONAME' \
| grep -v 'Bonjour' \
| grep -v 'before uhci_hcd' \
| grep -v 'built with' \
| grep -v 'download http://themes' \
| grep -v 'dbus-org.freedesktop.Avahi.service' \
| grep -v 'dbus-org.freedesktop.NetworkManager.service' \
| grep -v 'issuing e2fsck -a' \
| grep -v 'lirc_serial:' \
| grep -v 'login:session' \
| grep -v 'Metadata' \
| grep -v 'override may' \
| grep -v 'pulseaudio' \
| grep -v 'run/user' \
| grep -v 'sp5100_tco' \
| grep -v 'start Sound' \
| grep -v 'systemd-rtkit-daemon.service' \
| grep -v 'Unit user@' \
| grep -v 'VCE init error' \
| grep -v 'urandom' \
> $_xmsg_fn 2> /dev/null

#*******************************
#* check for any fail* messages
#*******************************

_cnt=$(wc -l < $_xmsg_fn)
if [ $_cnt -ne 0 ] ; then # we have problems.
_cnt=$(pgrep -f "title $_xtitle" | wc -l)
if [ $_cnt -eq 0 ] ; then # we've have not posted the failures.
echo "
from $_app
" >> $_xmsg_fn
nohup xmessage -display $DISPLAY -title "$_xtitle" \
$_xfont -fg red -bg yellow -file $_xmsg_fn > /dev/null 2>&1 &
sleep 1
fi
fi

rm -f $_xmsg_fn

true # suppress any cron output in the event of a script error code

#******************** end of ck_4_fail **********************

William Unruh

unread,
Feb 27, 2016, 12:12:46 PM2/27/16
to
On 2016-02-27, crankypuss <inv...@invalid.invalid> wrote:
> Bit Twister wrote:
>
>> On Fri, 26 Feb 2016 21:16:37 -0000 (UTC), William Unruh wrote:
>>
>>> The probme is that logging gets shut down as well.
>>
>> True, but you still have the entries since the journal is closed after
>> the other services are done.
>>
>> I know that because I wipe the journal files prior to issuing the
>> systemctl shutdown command and I still see Stopp(ed/ing), umount, ....
>> commands in the new log.
>>
>>
>>> Best is to have the
>>> stuff dumped to screen visible as it shuts down so you can see what
>>> it is hanging up on. No spash screen on shutdown.
>>
>> I'll second that.
>
> I'm trying to use this thing through a GUI DE, in particular LXDE.
> Click this and a dialog pops up, select "Shutdown". No telling what
> it's actually doing. If it was me setting up the command it would be
> "shutdown -h now" or whatever the exact syntax is, but it ain't me, it's
> whoever made up the LXDE shutdown dialog or some config file they've
> invented to store it in. I've yet to find a DE with even the level of
> configurability that old gnome-classic provided, it's all been
> modernized in the "dumbing down" sense.

Nope. I have discovered that a far better option is
systemctl shutdown
not the shutdown commend. The shutdown command constantly gave me
problem with timeouts waiting to shut various stuff down, while
systemctl shutdown
worked. There is a bug report in to Mageia on this. No real insight, but
it is there.

>
> So I smile sometimes, and try to figure out which is first of all the
> things I have to do to get from here to there, and ...
>
> I agree that first step on this particular issue is messages on the
> screen. Not that I'll be able to read them all, considering the speed
> at which they fly past on this "not a screamer" and the fact that I need
> a magnifying glass to read them on this 3200x1800 13" screen that's
> displaying the messages in what looks like about a 3-pica font.

The xps13 IS a screamer. The SSD drive means anything disk related is
instantaneous. No waits. But if the process goes into timout the text no
longer streams or screams. It is stitting there waiting. So you can read it.

I think the font is probably 10pt but each point is a pixel and each
pixel is about 1 micron across. (well 100 microns-- about 20cm height
and 1800 pixels high). I had the lower HD screen and it was already
tiny. YOurs is twice as small.

crankypuss

unread,
Feb 28, 2016, 5:15:56 AM2/28/16
to
Oh yummie, more systemd stuff. I've kind of concluded that systemd is
yet another attempt to reinvent an already overcomplex function so that
it can do anything imaginable, thus ensuring that it doesn't do anything
at all very well. Philosophically speaking, not an approach that I
favor. It's very impressive how fast linux can boot and what one can do
with nothing more than a kernel with busybox, if you don't need to spin
up dozens of daemons for this and that, etc.

>>
>> So I smile sometimes, and try to figure out which is first of all the
>> things I have to do to get from here to there, and ...
>>
>> I agree that first step on this particular issue is messages on the
>> screen. Not that I'll be able to read them all, considering the
>> speed at which they fly past on this "not a screamer" and the fact
>> that I need a magnifying glass to read them on this 3200x1800 13"
>> screen that's displaying the messages in what looks like about a
>> 3-pica font.

Sorry, typo, cha/pica/pixel

> The xps13 IS a screamer.

I'll let you argue that with Marek, who says it isn't.

Whether it screams or not isn't really relevant to me; I don't need to
impress anyone with it, it's maybe 10x as fast (if you believe in
passmarks) as what I was using before, and even that was fast enough for
most of what I do.

> The SSD drive means anything disk related is
> instantaneous. No waits.

Well, I'm no hardware expert, but from what I've picked up there are
still processor cycles devoted to simulating some kind of interface that
differentiates the ssd-drive bytes from main-storage bytes; iow I doubt
that those SSD bytes are on the main bus so I'll quibble with
"instantaneous No waits" on theoretical grounds, but agree that it's
damned fast and so is USB3 compared to USB2. An rsync copy of the root
partition (roughly 200k files) to a newly formatted partition on the
same SSD takes an amazingly short time, best measured in seconds rather
than the tens-of-minutes that I'm used to, and even copying it to a USB3
memory stick takes just a few minutes.

> But if the process goes into timout the text
> no longer streams or screams. It is stitting there waiting. So you can
> read it.

Since I removed quiet/splash it hasn't stalled on shutdown, wouldn't ya
know it? Intermittents are always a pita, Murphy's law works on both
sides of the street. It'll be back and I'll be more ready.

> I think the font is probably 10pt but each point is a pixel and each
> pixel is about 1 micron across. (well 100 microns-- about 20cm height
> and 1800 pixels high). I had the lower HD screen and it was already
> tiny. YOurs is twice as small.

I wonder if that makes it four times as hard to read, or only twice;
probably the square-root of something I don't understand but it is too
tiny for me to read without magnification.

crankypuss

unread,
Feb 28, 2016, 5:17:07 AM2/28/16
to
Bit Twister wrote:

[bunches of good stuff snipped]

Thanks BT.

Marek Novotny

unread,
Feb 28, 2016, 12:38:38 PM2/28/16
to
Well, my experiment with using Windows on the Dell XPS 15" 9550, the big
brother to your 13" has ended. I bought this Dell to run Adobe's apps
but I think Windows is just an awful awful OS. Just my opinion so those
that love it, not trying to rile you guys up. Each to his own and all.
So I blew away Windows and installed Ubuntu 15.10 on it.

So we should have very similar hardware. So far so good, but there are a
couple things I'm going to fix. But out of the box it isn't bad...

The first thing I did was pop open bios and disable secure boot. I
changed the way the storage devices are used from RAID to AHCI. After
that I booted a thumb drive with 15.10 on it. I modified grub for
nouveau.modeset=0 to get past the nVidia errors. Your 13" won't have to
deal with that.

Once in the live environment I used the command line and gdisk to
destroy the GPT data on the /dev/nvme0n1 which would become my boot
drive, not the typical /dev/sda.

Once I installed, in which I just took the defaults for this. I then
rebooted and went back to BIOS. I deleted the Windows boot manager
option and added a new option which I called, Ubuntu. Using the built in
file browser I chose the PCIe SSD and followed the EFI path to
EFI/ubuntu/shimx64.efi. Then I saved all of it as my custom BIOS
settings.

Rebooted again, got into grub2 and again modified the boot with
nouveau.modeset=0 and removed the quiet as I hate that while testing...

Booted cleanly and easily into 15.10. Updated everything, rebooted,
again modified the grub2 boot as before. And then once in installed the
nVidia driver. By this time it was pretty late so I went to sleep.

Today I noticed the touch pad is not working. Going to fix that next and
push my data onto this install. It seems mostly complete at this time.

Not sure which kernel you're on with the 13"...

So far I have not seen any 90 second start-up or shutdown delays. It's
only day 1 with this but if I run into those I'll try to resolve them
and see what I can learn.

linfo output...

Sun Feb 28 09:28:17 PST 2016
Version 2.8, released: 2016-JAN-23
User Info
==========================================================================
User Name: marek
Pass: x
User ID: 1001
Primary Group: 1001
Full Name: Marek Novotny
Home Directory: /home/marek
Shell: /bin/bash

Shadow Info
==========================================================================
Login Name: marek
Encrypted Password: $6$iqcgeyKg$Su6CGgOFJdMrtR3Y8PBQoz0Si1
: zUgmafxcdTN/32QRnRkVp4tZJNqu/i8V.udNBx
: E.BbTGsKayzeA9sTrs1a/.
Date of Last Password Change: 2016-02-28
Minimum Password Age: 0 Days
Maximum Password Age: 99999 Days
Password Warning Period: 7 Days
Password Inactivity Period: Unset Days
Account Expiration Date: 1970-01-02
Reserved Field: Not Set

Group Info
==========================================================================
adm: 4
cdrom: 24
sudo: 27
dip: 30
plugdev: 46
lpadmin: 113
marek: 1001
sambashare: 128
web: 1002
backups: 1004
freenas: 1005

Environment Variables
==========================================================================
Time Zone: PST
Term: screen-256color
Term Size: 84 x 34
Shell: /bin/bash
Language: en_US.UTF-8
News Server: news.giganews.com
Editor: /usr/bin/vim
Run Level: graphical.target
Default Target: graphical.target

Screen Dimensions
==========================================================================
Dimensions: 1920x1080 pixels (508x286 millimeters)
Resolution: 96x96 dots per inch

Machine Info
==========================================================================
Total Memory: 32,797,352
VM Swap: 0
VM Free: 31,036,236
VM Buffer: 51,760
VM Cache: 625,860
Sockets: 1
Processor: Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz
CPU Cores: 4 (HyperThreading)
Distribution: Ubuntu 15.10
Systemd Version: systemd 225
Boot Loader: Grub2
Kernel Release: 4.2.0-30-generic
Taint Status: Tainted (12801)
Uptime: 09:28:17 up 36 min
Users: 1
Load Average: 1.08, 1.03, 0.89
Sound Module: snd_hda_intel
Sound Driver: Version k4.2.0-30-generic.

Linux Kernel Taint Status Description
==========================================================================
1: A module with a non-GPL license has been loaded,
which includes modules with no license set by
modutils >= 2.4.9 and module-init-tools.

512: A module was force loaded by insmod -f set by
modutils >= 2.4.9 and module-init-tools.

4096: Unsafe SMP processors: SMP with CPUs not designed for
SMP.

8192: A module was forcibly unloaded from the system by
rmmod -f.

Graphics Adapter
==========================================================================
Intel Corporation Device 191b (rev 06)

DeviceName: Onboard IGD
Subsystem: Dell Device 06e4
Flags: bus master, fast devsel, latency 0, IRQ 126
Memory at db000000 (64-bit, non-prefetchable) [size=16M]
Memory at 70000000 (64-bit, prefetchable) [size=256M]
I/O ports at f000 [size=64]
Expansion ROM at <unassigned> [disabled]
Capabilities: [40] Vendor Specific Information: Len=0c <?>
Capabilities: [70] Express Root Complex Integrated Endpoint, MSI 00
Capabilities: [ac] MSI: Enable+ Count=1/1 Maskable- 64bit-
Capabilities: [d0] Power Management version 2
Capabilities: [100] #1b
Capabilities: [200] Address Translation Service (ATS)
Capabilities: [300] #13
Kernel driver in use: i915
Driver version: 5C38138799E6BC8691FB133

Wireless Adapter Info
==========================================================================
Broadcom Corporation BCM43602 802.11ac Wireless LAN SoC (rev 01)

Subsystem: Dell Device 0024
Flags: bus master, fast devsel, latency 0, IRQ 137
Memory at dd800000 (64-bit, non-prefetchable) [size=32K]
Memory at dd400000 (64-bit, non-prefetchable) [size=4M]
Capabilities: [48] Power Management version 3
Capabilities: [58] MSI: Enable+ Count=1/16 Maskable- 64bit+
Capabilities: [68] Vendor Specific Information: Len=44 <?>
Capabilities: [ac] Express Endpoint, MSI 00
Capabilities: [100] Advanced Error Reporting
Capabilities: [13c] Device Serial Number 7e-1f-44-ff-ff-f5-48-e2
Capabilities: [150] Power Budgeting <?>
Capabilities: [160] Virtual Channel
Capabilities: [1b0] Latency Tolerance Reporting
Capabilities: [220] #15
Capabilities: [240] L1 PM Substates
Kernel driver in use: brcmfmac
Driver version: 7508E18033F45FEE691BC89

Inside Network:
==========================================================================
Assigned IP: 192.168.1.148 (wlp2s0) (Pass)
Gateway: 192.168.1.1 (Pass)
DNS: 127.0.1.1 (Pass)

Interface Status:
==========================================================================
2: wlp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc
pfifo_fast state UP mode DORMANT group default qlen 1000

link/ether 48:e2:44:f5:7e:1f brd ff:ff:ff:ff:ff:ff
RX: bytes packets errors dropped overrun mcast
4556280 5987 0 39 0 79
TX: bytes packets errors dropped carrier collsns
399288 3032 0 0 0 0

Host Testing:
==========================================================================
Status: Pass --> Host: www.redhat.com
Status: Pass --> Host: www.ubuntu.com
Status: Pass --> Host: www.google.com
Status: Pass --> Host: www.yahoo.com

External Network Info:
==========================================================================
ISP: AS22759 Wave Broadband
External IP: 76.14.81.229
Reverse Lookup: marspolar.com.
Hostname: 9550
Domain Name: marspolar.com
FQDN: 9550.marspolar.com
Name Server: ns2.hover.com.
Mail Exchange: in2-smtp.messagingengine.com.
DNS: 127.0.1.1
DNS Name: None Detected

Device Info:
==========================================================================
NAME FSTYPE LABEL UUID MOUNTPOINT
sda
nvme0n1
├─nvme0n1p1 vfat 72DC-954B /boot/efi
├─nvme0n1p2 ext4 c55a3199-52ff-42a5-89b1-2a0ef4933592 /
└─nvme0n1p3 swap b8ea549c-1885-49c4-b57f-85ba7ec75a4d [SWAP]

Volume Info
==========================================================================
Filesystem Type Size Used Avail Use% Mounted on
udev devtmpfs 16G 0 16G 0% /dev
tmpfs tmpfs 3.2G 9.7M 3.2G 1% /run
/dev/nvme0n1p2 ext4 203G 19G 175G 10% /
tmpfs tmpfs 16G 164K 16G 1% /dev/shm
tmpfs tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs tmpfs 16G 0 16G 0% /sys/fs/cgroup
/dev/nvme0n1p1 vfat 511M 3.4M 508M 1% /boot/efi
cgmfs tmpfs 100K 0 100K 0% /run/cgmanager/fs
tmpfs tmpfs 3.2G 64K 3.2G 1% /run/user/1001
freenas:/mnt/tank/Backups nfs 250G 38G 213G 16% /mnt/Backups
freenas:/mnt/tank/Downloads nfs 250G 116G 135G 47% /mnt/Downloads
freenas:/mnt/tank/Videos nfs 1.0T 146G 879G 15% /mnt/Videos
freenas:/mnt/tank/Web nfs 1.0T 143G 882G 14% /mnt/Web

William Unruh

unread,
Feb 28, 2016, 3:22:06 PM2/28/16
to
On 2016-02-28, crankypuss <inv...@invalid.invalid> wrote:
> William Unruh wrote:
>
>> On 2016-02-27, crankypuss <inv...@invalid.invalid> wrote:
>>> Bit Twister wrote:
>>>
>>>> On Fri, 26 Feb 2016 21:16:37 -0000 (UTC), William Unruh wrote:
>>>>
>>>>> The probme is that logging gets shut down as well.
>>>>
...
>>
>> Nope. I have discovered that a far better option is
>> systemctl shutdown
>> not the shutdown commend. The shutdown command constantly gave me
>> problem with timeouts waiting to shut various stuff down, while
>> systemctl shutdown
>> worked. There is a bug report in to Mageia on this. No real insight,
>> but it is there.
>
> Oh yummie, more systemd stuff. I've kind of concluded that systemd is

The question is if you want shutdown to work or not. Try the systemd
route. If it works, you know how to shutdown quickly.

> yet another attempt to reinvent an already overcomplex function so that
> it can do anything imaginable, thus ensuring that it doesn't do anything
> at all very well. Philosophically speaking, not an approach that I
> favor. It's very impressive how fast linux can boot and what one can do
> with nothing more than a kernel with busybox, if you don't need to spin
> up dozens of daemons for this and that, etc.

The fast boot is in part a consequence of systemd. And the discussions
about systemd have raged for a couple of years now with the only
resultion being that almost all distros have gone over to it. A few have
not.

...
>
>> But if the process goes into timout the text
>> no longer streams or screams. It is stitting there waiting. So you can
>> read it.
>
> Since I removed quiet/splash it hasn't stalled on shutdown, wouldn't ya
> know it? Intermittents are always a pita, Murphy's law works on both
> sides of the street. It'll be back and I'll be more ready.

Yes, it could well be Plymouth and its spash handling that is causing
the timeouts.

>
>> I think the font is probably 10pt but each point is a pixel and each
>> pixel is about 1 micron across. (well 100 microns-- about 20cm height
>> and 1800 pixels high). I had the lower HD screen and it was already
>> tiny. YOurs is twice as small.
>
> I wonder if that makes it four times as hard to read, or only twice;
> probably the square-root of something I don't understand but it is too
> tiny for me to read without magnification.

You can (somehow) tell it to use a different screen (you could try the
vga= line in the kernel line, but I think it is in the initrd that that
terminal screen resolution gets set)


William Unruh

unread,
Feb 28, 2016, 3:27:44 PM2/28/16
to
On 2016-02-28, Marek Novotny <marek....@marspolar.com> wrote:

Could be the psmouse problem. Make sure that psmouse module is not
getting installed.

>
> Today I noticed the touch pad is not working. Going to fix that next and
> push my data onto this install. It seems mostly complete at this time.
>

> Encrypted Password: $6$iqcgeyKg$Su6CGgOFJdMrtR3Y8PBQoz0Si1
> : zUgmafxcdTN/32QRnRkVp4tZJNqu/i8V.udNBx
> : E.BbTGsKayzeA9sTrs1a/.

Uh, Why would you post your encrypted password for everyone to try to
break?


> Linux Kernel Taint Status Description
>==========================================================================
> 1: A module with a non-GPL license has been loaded,
> which includes modules with no license set by
> modutils >= 2.4.9 and module-init-tools.

Wow. What a helpful message! Which module?

Marek Novotny

unread,
Feb 28, 2016, 5:08:06 PM2/28/16
to
On 2016-02-28, William Unruh <un...@invalid.ca> wrote:
> On 2016-02-28, Marek Novotny <marek....@marspolar.com> wrote:
>
> Could be the psmouse problem. Make sure that psmouse module is not
> getting installed.

Looked around the web and found a fix, which was pretty simple and
quick...

Fix touchpad problem. Apparently the wrong kernel module (driver) is
loaded. It's loading i2c_hid instead of i2c_designware_*.

lsmod | grep i2c #check what's loaded
echo "blacklist i2c_hid" | sudo tee -a /etc/modprobe.d/blacklist.conf
#apparently just blacklisting isn't good enough, for me it was also
hiding in initramfs
sudo depmod -a
sudo update-initramfs -u
reboot

touch working great now. :)

>> Encrypted Password: $6$iqcgeyKg$Su6CGgOFJdMrtR3Y8PBQoz0Si1
>> : zUgmafxcdTN/32QRnRkVp4tZJNqu/i8V.udNBx
>> : E.BbTGsKayzeA9sTrs1a/.
>
> Uh, Why would you post your encrypted password for everyone to try to
> break?

Hey, give it a shot. :)

>> Linux Kernel Taint Status Description
>>==========================================================================
>> 1: A module with a non-GPL license has been loaded,
>> which includes modules with no license set by
>> modutils >= 2.4.9 and module-init-tools.
>
> Wow. What a helpful message! Which module?

#!/bin/bash

# script: reptaints

IFS=$'\n'
for x in $(cat /proc/modules | awk '{print $1}') ; do
if [[ $(od -A n /sys/module/$x/taint) != " 000012" ]] ; then
echo $x
fi
done

## END ##

marek@9550:~$ reptaints

vmnet
vmmon
bbswitch
nvidia

// snip

Bit Twister

unread,
Feb 28, 2016, 6:25:04 PM2/28/16
to
On Sun, 28 Feb 2016 09:38:35 -0800, Marek Novotny wrote:
> Filesystem Size Used Avail Use% Mounted on
> freenas:/mnt/tank/Backups nfs 250G 38G 213G 16% /mnt/Backups
> freenas:/mnt/tank/Downloads nfs 250G 116G 135G 47% /mnt/Downloads
> freenas:/mnt/tank/Videos nfs 1.0T 146G 879G 15% /mnt/Videos
> freenas:/mnt/tank/Web nfs 1.0T 143G 882G 14% /mnt/Web

No idea where those large /mnt drives are, and assuming ext4, have you
considered using the following example command
tune2fs -m 0.1 /dev/sdXZ
then checking the Used value?

William Unruh

unread,
Feb 28, 2016, 7:23:44 PM2/28/16
to
On 2016-02-28, Marek Novotny <marek....@marspolar.com> wrote:
> On 2016-02-28, William Unruh <un...@invalid.ca> wrote:
>> On 2016-02-28, Marek Novotny <marek....@marspolar.com> wrote:
>>
>> Could be the psmouse problem. Make sure that psmouse module is not
>> getting installed.
>
> Looked around the web and found a fix, which was pretty simple and
> quick...
>
> Fix touchpad problem. Apparently the wrong kernel module (driver) is
> loaded. It's loading i2c_hid instead of i2c_designware_*.
>
> lsmod | grep i2c #check what's loaded
> echo "blacklist i2c_hid" | sudo tee -a /etc/modprobe.d/blacklist.conf
> #apparently just blacklisting isn't good enough, for me it was also
> hiding in initramfs
> sudo depmod -a
> sudo update-initramfs -u
> reboot
>
> touch working great now. :)
>
Good to hear. Do you have a middle mouse button as well? Does palm
detection now work?
The initial problem was that psmouse would load first and take over the
trackpad, and its functionality was severely limited.

The two, i2c-hid and i2c-designware seem to be for very different
hardware. Which touchpad does your machine have? (and which version of
the XPS is it again?)


...............
>> Uh, Why would you post your encrypted password for everyone to try to
>> break?
>
> Hey, give it a shot. :)

I have zero interest in doing so. My concern is that others might have
an interest.
>

Marek Novotny

unread,
Feb 28, 2016, 8:12:45 PM2/28/16
to
Those are coming from FreeNAS and are ZFS. After redundancy I have
roughly 10 TB. I'm using about of a third of it presently. Freenas is
the host, tank is the pool, and you see some of the defined spaces
created and shared via NFS. I have a web based console that lets me
manage it and I can tell you the data above is accurate as it matches
what my NAS console reports.

Bit Twister

unread,
Feb 28, 2016, 8:22:25 PM2/28/16
to
I had no doubt about the accuracy of the values. no idea if the -m
argument will work on ZFS file system.

Marek Novotny

unread,
Feb 28, 2016, 8:26:35 PM2/28/16
to
[ 2.293147] psmouse serio1: synaptics: queried max coordinates: x [..5664], y [..4646]
[ 2.331764] psmouse serio1: synaptics: queried min coordinates: x [1278..], y [1206..]
[ 2.408361] psmouse serio1: synaptics: Touchpad model: 1, fw: 8.2, id: 0x1e2b1, caps: 0xf00123/0x840300/0x12e800/0x0, board id: 3125, fw id: 1961136
[ 2.465119] input: SynPS/2 Synaptics TouchPad as /devices/platform/i8042/serio1/input/input6

It's their latest XPS 15" with the Infinity display and Skylake
processors. Just look at the site and check the current model.

> ...............
>>> Uh, Why would you post your encrypted password for everyone to try to
>>> break?
>>
>> Hey, give it a shot. :)
>
> I have zero interest in doing so. My concern is that others might have
> an interest.

Well, thank you for your concern. What you see stated is intentional and
will not harm me.

Marek Novotny

unread,
Feb 28, 2016, 8:39:21 PM2/28/16
to
Well, tune2fs is for EXT file systems, which is this is not. Normally I
even use XFS for the host but in this case I just sailed through much of
the defaults on Ubuntu. The boot device is only 256 GiB PCIe SSD. I'll
swap it with a larger PCIe Samsung Pro drive later. I think what Dell is
using by default is not the best.

I also have a 512 GiB SATA SSD in the 2.5" bay which I just brought up
for guests. I devoted half of it for guests and the other half I have
reserved for now.

I've rebooted it several times now, with the NFS shares and no problems
yet. Course Ubuntu has always worked well with NFS for me. Oddly it is
the rhel 7.2 box which stalled endlessly when using WiFi, which
incidentally is all this has. It's like an ultrabook half-bread and it
doesn't have Ethernet. It does a very attractive screen. And it also has
a USB-c / Thunderbolt 3 port. You can use either type on the same
connection.

I have an Anker USB-C device which gives me Eithernet and three USB 3
connections. Now, I left the darn thing in my office so I can't test it
right now. Putting two 2.5" hard drives on that device and then
transferring large data-sets between them in Windows would cause the
drives to dismount a lot. Could be a power thing or just Windows being
bad. I'd like to try it under Linux and see how that performs.

Bit Twister

unread,
Feb 28, 2016, 9:45:59 PM2/28/16
to
On Sun, 28 Feb 2016 17:39:18 -0800, Marek Novotny wrote:
> On 2016-02-29, Bit Twister <BitTw...@mouse-potato.com> wrote:
>> On Sun, 28 Feb 2016 17:12:41 -0800, Marek Novotny wrote:
>>> On 2016-02-28, Bit Twister <BitTw...@mouse-potato.com> wrote:
>>>> On Sun, 28 Feb 2016 09:38:35 -0800, Marek Novotny wrote:
>>>>> Filesystem Size Used Avail Use% Mounted on
>>>>> freenas:/mnt/tank/Backups nfs 250G 38G 213G 16% /mnt/Backups
>>>>> freenas:/mnt/tank/Downloads nfs 250G 116G 135G 47% /mnt/Downloads
>>>>> freenas:/mnt/tank/Videos nfs 1.0T 146G 879G 15% /mnt/Videos
>>>>> freenas:/mnt/tank/Web nfs 1.0T 143G 882G 14% /mnt/Web
>>>>
>>>> No idea where those large /mnt drives are, and assuming ext4, have you
>>>> considered using the following example command
>>>> tune2fs -m 0.1 /dev/sdXZ
>>>> then checking the Used value?
>>>
>>> Those are coming from FreeNAS and are ZFS. After redundancy I have


Ok, run something like
zfs get reservation /were/ever/Videos

If you do not like how much is reserved you might try something like
zfs set reservation=1G /were/ever/Videos

Marek Novotny

unread,
Feb 28, 2016, 10:04:12 PM2/28/16
to
Those are set in the FreeNAS console already. The Quota is the size you
see reported as the size of the volume. My pool is 9.8 TB and Backups
for example has a Quota of 250 GiB. I haven't set a reservation at all
because the quotas of all datasets are only 1/3rd of the pool. AEach
dataset has a set quota though.

Marek Novotny

unread,
Feb 28, 2016, 10:24:24 PM2/28/16
to
I'm a little puzzled. Are you suggesting these things because of the
comment I made about the shutdown stalls when using NFS? If yes, that's
a strange systemd bug where so far my thinking is that the WiFi goes
dark before the NFS shares are disconnected.

It doesn't happen via Ethernet. And it is something that so far happens
only on rhel 7.2. rhel 6.7 has no issue. Ubuntu 15.10 has no issue. And
even the rhel 7.2 machine has no issue if I shutdown when I am using
Ethernet, not WiFi.

Bit Twister

unread,
Feb 29, 2016, 12:29:35 AM2/29/16
to
On Sun, 28 Feb 2016 19:24:22 -0800, Marek Novotny wrote:
> On 2016-02-29, Bit Twister <BitTw...@mouse-potato.com> wrote:
>> Ok, run something like
>> zfs get reservation /were/ever/Videos
>>
>> If you do not like how much is reserved you might try something like
>> zfs set reservation=1G /were/ever/Videos
>
> I'm a little puzzled. Are you suggesting these things because of the
> comment I made about the shutdown stalls when using NFS?


No. Only mentioned it because not a lot of users are not aware that ~5% of
the partition is reserved for root. On very large partitions that
becomes a waste of space.

crankypuss

unread,
Feb 29, 2016, 4:54:20 AM2/29/16
to
William Unruh wrote:

> On 2016-02-28, crankypuss <inv...@invalid.invalid> wrote:
>> William Unruh wrote:
>>
>>> On 2016-02-27, crankypuss <inv...@invalid.invalid> wrote:
>>>> Bit Twister wrote:
>>>>
>>>>> On Fri, 26 Feb 2016 21:16:37 -0000 (UTC), William Unruh wrote:
>>>>>
>>>>>> The probme is that logging gets shut down as well.
>>>>>
> ...
>>>
>>> Nope. I have discovered that a far better option is
>>> systemctl shutdown
>>> not the shutdown commend. The shutdown command constantly gave me
>>> problem with timeouts waiting to shut various stuff down, while
>>> systemctl shutdown
>>> worked. There is a bug report in to Mageia on this. No real insight,
>>> but it is there.
>>
>> Oh yummie, more systemd stuff. I've kind of concluded that systemd
>> is
>
> The question is if you want shutdown to work or not. Try the systemd
> route. If it works, you know how to shutdown quickly.

I'm still waiting for it to reproduce again. One might almost conclude
that the issue had something to do with hiding the message output, if
one were impatient. One might also conclude that until it stalls again
and it's possible to see whatever messages are output, trying this and
that is a misdirection of effort.

As far as I know, the LXDE shutdown function is using the "approved"
method of shutting down the system. If I have to start issuing commands
directly to shut down, I'll try the "approved" methods first.

What I find is that "hit the big red switch" is a solution that has been
relegated to the past by soft-switches that beg whatever code is running
to consider the idea of maybe turning off the hardware someday. That's
especially annoying with tablet-combo systems; for example the ASUS T100
is imo the best 10" consumer laptop on the market but it's frustrating
as hell because of the tablet-detachment feechur. Fantastic screen
(1366x768 on a 10" screen is quite nice), decent processor, really
crappy human-factors (and probably busted EFI Firmware too). I sent
mine back and paid the restocking fee, maybe I'll pick up a used one
cheap if I decide I need a new hobby to use up more time that I could be
doing something useful with.

>> yet another attempt to reinvent an already overcomplex function so
>> that it can do anything imaginable, thus ensuring that it doesn't do
>> anything
>> at all very well. Philosophically speaking, not an approach that I
>> favor. It's very impressive how fast linux can boot and what one can
>> do with nothing more than a kernel with busybox, if you don't need to
>> spin up dozens of daemons for this and that, etc.
>
> The fast boot is in part a consequence of systemd.

Probably, in the general case; in that particular testing I don't think
systemd was involved, unless it came in through initfs; it's been a
couple years so I don't recall many of the details.

> And the discussions
> about systemd have raged for a couple of years now with the only
> resultion being that almost all distros have gone over to it. A few
> have not.

I don't see systemd as better or worse than the older init system[s],
nor do I see it as The Solution; I think The Solution has yet to be
developed.

> ...
>>
>>> But if the process goes into timout the text
>>> no longer streams or screams. It is stitting there waiting. So you
>>> can read it.
>>
>> Since I removed quiet/splash it hasn't stalled on shutdown, wouldn't
>> ya
>> know it? Intermittents are always a pita, Murphy's law works on both
>> sides of the street. It'll be back and I'll be more ready.
>
> Yes, it could well be Plymouth and its spash handling that is causing
> the timeouts.

Mentioned above as a possibility; I'm not going to spend all day every
day doing boot-then-shutdown until it fails, it might never fail again
if it had to do with message hiding. If/when it does fail I'll need to
be quick in writing down data before it turns off the screen; if it's
still broken I'll have plenty of opportunities for that.

>>
>>> I think the font is probably 10pt but each point is a pixel and each
>>> pixel is about 1 micron across. (well 100 microns-- about 20cm
>>> height and 1800 pixels high). I had the lower HD screen and it was
>>> already tiny. YOurs is twice as small.
>>
>> I wonder if that makes it four times as hard to read, or only twice;
>> probably the square-root of something I don't understand but it is
>> too tiny for me to read without magnification.
>
> You can (somehow) tell it to use a different screen (you could try the
> vga= line in the kernel line, but I think it is in the initrd that
> that terminal screen resolution gets set)

Seems like BitTwister posted some clues about that but I've just stashed
them without immediate study. I have grub2 set up to use something
readable, I think 800x600 since it's the same for all my systems, but
something other than grub2 is determining the initial resolution after
kernel-load and the resolution after it goes to graphics mode. I could
make a career out of learning every bit of this type of lore as some
others seem to have done, but I already had a career that involved
creating new lore and I'm kind of bored with the whole "lore" business
(or maybe just too old and stupid to remember new trivia).

So, since turning off the quiet/splash business I haven't seen it again.

crankypuss

unread,
Feb 29, 2016, 5:49:47 AM2/29/16
to
Marek Novotny wrote:

> Well, my experiment with using Windows on the Dell XPS 15" 9550, the
> big brother to your 13" has ended.
[snip]

>
> linfo output...
>
> Sun Feb 28 09:28:17 PST
> 2016
> Version 2.8, released:
> 2016-JAN-23
> User Info
>
==========================================================================
> User Name: marek
> Pass: x
> User ID: 1001
> Primary Group: 1001
> Full Name: Marek Novotny
> Home Directory: /home/marek
> Shell: /bin/bash
>
> Shadow Info
>
==========================================================================
> Login Name: marek
> Encrypted Password:

I've not paid too much attention to your linfo stuff since it's written
in bash, but it looks like you've collected a bunch of potentially
useful information. Have you considered how it might be used by others
in their scripts? Would they have to parse it all using grep/awk/sed
etc? You've mentioned that your interests include bash and C, have you
done anything with that C knowledge lately?

The point is... well what is the point, really? They can always dig
around in your code and figure out how you came up with the driver name
and version, right? Then they can cut'n'paste the code into their own
script.

I guess you can call that "code reuse".

Or, you could write a C version of linfo that returned data in a
parsing-free form, an array of names and associated values for example;
then linfo could just call it and print the nice report. And others
could call it and easily obtain the information they need, just some
small part of what linfo reports, whatever is needed by one script or
another.

But, having avoided bash, I don't know how one would pass an associative
array back to a bash script. Certainly in the fugly "stdout" stream,
but is there an interface where a command called by bash can return
variables directly to the calling script?

Sorry, bash is so fugly that I'm not even going to dig around for the
answer to that rhetorical question, I just wanted to offer you a reason
to think about some things. Call that "trolling" if you like.

Bit Twister

unread,
Feb 29, 2016, 7:26:02 AM2/29/16
to
On Mon, 29 Feb 2016 03:49:43 -0700, crankypuss wrote:
>
> I've not paid too much attention to your linfo stuff since it's written
> in bash, but it looks like you've collected a bunch of potentially
> useful information.

Yeah, that was the intended purpose. Newbie would post a question and
subject matter experts would ask for item information so they could ask the
newbie for output of desired commands for further research.

> Have you considered how it might be used by others
> in their scripts? Would they have to parse it all using grep/awk/sed
> etc?

If an item or too, that would be the lazy way to go. Kinda like using a
sledge hammer to drive in thumbtacks.

> The point is... well what is the point, really? They can always dig
> around in your code and figure out how you came up with the driver name
> and version, right?

That would be the better method.

> Then they can cut'n'paste the code into their own script.

Or depending on the desired data just ask for it. One example from the
script would be "lsblk -f" whereas I would prefer something like
# lsblk -io NAME,SIZE,FSTYPE,LABEL,MOUNTPOINT,PARTLABEL,UUID

NAME SIZE FSTYPE LABEL MOUNTPOINT PARTLABEL UUID
sda 931.5G
|-sda1 800M vfat recovery part 9263-5ADC
|-sda2 256M vfat EFI SYSTEM EFI SYSTEM A40D-96A2
|-sda3 120M ext4 Ms reserved Ms reserved 6c63e632-6bb9-4a1
|-sda4 40G ext4 mga3 mga3 4c38590d-94b7-4ce
|-sda5 40G ext4 mga4 mga4 cd61ad8b-61ee-47b
|-sda6 40G ext4 mga5 / mga5 f2b09b26-b1e6-40d
|-sda7 40G ext4 cauldron cauldron 528853a7-9321-401
|-sda8 20.5G ext4 local /local local e2bd3f37-de7e-432
|-sda9 20.5G ext4 accounts /accounts accounts 788764b6-2b09-440
|-sda10 57.6G ext4 misc /misc misc 9263c8f2-0b87-4d3
|-sda11 72.3G ext4 spare /spare spare 6e4b565f-c15d-4e6
`-sda12 599.3G ext4 video /video video 164af844-f07d-461
sdb 931.5G
|-sdb1 9.3G swap swap [SWAP] swap 0f7e9600-cfb3-4a7
|-sdb2 24.1G ext4 bk_up bk_up bdabc0e1-00e2-436
|-sdb3 40.1G ext4 hotbu hotbu d817da15-4272-4dd
|-sdb4 41.4G ext4 cauldron_bkup cauldron_bkup 869241b7-bc01-466
|-sdb5 351.3G ext4 vmguest vmguest 197029d3-c81b-419
|-sdb6 402.6G ext4 vid_bkup vid_bkup c453e231-26a6-421
`-sdb7 62.8G ext4 hh hh 74c25fba-e079-415

William Unruh

unread,
Feb 29, 2016, 11:20:05 AM2/29/16
to
On 2016-02-29, crankypuss <inv...@invalid.invalid> wrote:
> William Unruh wrote:
....

>>>
>>>> I think the font is probably 10pt but each point is a pixel and each
>>>> pixel is about 1 micron across. (well 100 microns-- about 20cm
>>>> height and 1800 pixels high). I had the lower HD screen and it was
>>>> already tiny. YOurs is twice as small.
>>>
>>> I wonder if that makes it four times as hard to read, or only twice;
>>> probably the square-root of something I don't understand but it is
>>> too tiny for me to read without magnification.
>>
>> You can (somehow) tell it to use a different screen (you could try the
>> vga= line in the kernel line, but I think it is in the initrd that
>> that terminal screen resolution gets set)
>
> Seems like BitTwister posted some clues about that but I've just stashed
> them without immediate study. I have grub2 set up to use something
> readable, I think 800x600 since it's the same for all my systems, but
> something other than grub2 is determining the initial resolution after
> kernel-load and the resolution after it goes to graphics mode. I could
> make a career out of learning every bit of this type of lore as some
> others seem to have done, but I already had a career that involved
> creating new lore and I'm kind of bored with the whole "lore" business
> (or maybe just too old and stupid to remember new trivia).

After grub lets go, it is initrd which takes over, and puts its own
resolution up on the screen. I have never figured out how to get the
initrd to use some screen resolution. Perhaps someone else knows how to
do that.

William Unruh

unread,
Feb 29, 2016, 11:25:09 AM2/29/16
to
On 2016-02-29, crankypuss <inv...@invalid.invalid> wrote:
The advantage of bash scripting is that it is readable. Almost anyone
can figure out what the program is doing.
With C you have to first get the source code, then try to read the
writer's uncommented spaghetti code, then change things then recompile.
With bash it is change test change, all in about 5 sec.
>
...
>
> Sorry, bash is so fugly that I'm not even going to dig around for the
> answer to that rhetorical question, I just wanted to offer you a reason
> to think about some things. Call that "trolling" if you like.

Too bad for you. One of the problems with systemd is that almost
everything which used to be run by scripts has been replaced by C code,
making bootup far far more difficult to figure out and change.

>

Marek Novotny

unread,
Feb 29, 2016, 11:56:52 AM2/29/16
to
On 2016-02-29, crankypuss <inv...@invalid.invalid> wrote:
> I've not paid too much attention to your linfo stuff since it's written
> in bash, but it looks like you've collected a bunch of potentially
> useful information. Have you considered how it might be used by others
> in their scripts? Would they have to parse it all using grep/awk/sed
> etc? You've mentioned that your interests include bash and C, have you
> done anything with that C knowledge lately?

Others use it in two ways. They can use it to see what it shows, and
hopefully that's useful and if so they can further use it by reading the
code itself and seeing how the information is obtained and reported.

As for C, it has taken a bit of a back seat for the time being because I
am still a n00b on the shell and wanted to improve and I am also
interested in general Linux itself and want to improve there as well. I
had hoped to write a simple game in C this year, but I'm not sure I am
make my own timeline. I think about it every week and consider I best to
split up my time. I work more than full time hours you see, and when my
health took a nose dive I didn't think about any of this for two months.

I'm also interested in Python and QT. Plenty of subjects tug for my
attention. If only I had more time. If you could just convince my employer
to pay me while I go off an enrich my soul it would really help. :)

> The point is... well what is the point, really? They can always dig
> around in your code and figure out how you came up with the driver name
> and version, right? Then they can cut'n'paste the code into their own
> script.

Yes, exactly. Or they could ask for help and show what they came up
with. Plenty of people would be willing to help. If the subject is
interesting to me I might just write the whole thing for them because I
find it interesting or useful for myself.

> I guess you can call that "code reuse".

Yes, and it is what the principle reasons I'm a fan of Open Source. The
fact that we have an Open Source version very similar to UNIX is just
icing on the cake and I've always preferred UNIX. This is all perfect
for me. I see it as an amazing opportunity. One I wish I would have
jumped on a decade sooner. Oh well. Hind sight is 20/20.

> Or, you could write a C version of linfo that returned data in a
> parsing-free form, an array of names and associated values for example;
> then linfo could just call it and print the nice report. And others
> could call it and easily obtain the information they need, just some
> small part of what linfo reports, whatever is needed by one script or
> another.

There are some elements that will likely benefit from C. As I learn C
you'll see it because I'll likely adopt some pet project the same way I
did with BASH and share that as well. For a short while I did such a
thing in the Perl group when I was learning a little Perl.

> But, having avoided bash, I don't know how one would pass an associative
> array back to a bash script. Certainly in the fugly "stdout" stream,
> but is there an interface where a command called by bash can return
> variables directly to the calling script?

I would probably take the reverse approach. I'd write a utility to grab
info I want in C and then use the linfo script to execute the C program
and store stdout into a variable and report it in my general formatted
way you already see in the linfo bash script. For example, I am using
lsblk, which is a compiled program to obtain device info. I am using
lscpu to gain access to cpu info. And on and on. Complied C programs are
already getting information I want. At some point one of these C
applications might be something I wrote rather than something that came
with Linux. And at that point, who knows, maybe I'll look at the source
code for things like df... That's what is so cool about all this. I can
grab the source code for any part of it. That is just amazing to me. I
don't actually understand why people aren't shouting that from rooftops.

You don't have to hope to be hired by x company to see how something
like ZFS or the Ceph file systems actually work. If you're so inclined
you can grab the source and start reading it today.

> Sorry, bash is so fugly that I'm not even going to dig around for the
> answer to that rhetorical question, I just wanted to offer you a reason
> to think about some things. Call that "trolling" if you like.

Well, we have to disagree there. It's an interface between you and
userland. Did you notice a few days back someone wanted to download a
lot of pvpn files from a site that offers free VPN. So wget was
employed. All the ovpn files could be downloaded without user
interaction of the site itself. It was automated with a shell script.
And then the issue came up of how to sort them all and test them as many
simply don't work. Again, a shell script is created to do all that work.
No one had to look for a pre-compiled utility to buy or license. All the
tools needed are free and open. You just have to write it. And you don't
have to learn to compile. All of this is easily done in a simple shell
written in a simple text editor, which is also free and open.

Marek Novotny

unread,
Feb 29, 2016, 12:06:02 PM2/29/16
to
On 2016-02-29, Bit Twister <BitTw...@mouse-potato.com> wrote:
> On Mon, 29 Feb 2016 03:49:43 -0700, crankypuss wrote:
>>
>> I've not paid too much attention to your linfo stuff since it's written
>> in bash, but it looks like you've collected a bunch of potentially
>> useful information.
>
> Yeah, that was the intended purpose. Newbie would post a question and
> subject matter experts would ask for item information so they could ask the
> newbie for output of desired commands for further research.

You put this huge smile on my face. :) That is exactly it. Thanks for
remembering and thanks for all your contributions.

>> Have you considered how it might be used by others
>> in their scripts? Would they have to parse it all using grep/awk/sed
>> etc?
>
> If an item or too, that would be the lazy way to go. Kinda like using a
> sledge hammer to drive in thumbtacks.

Yes, easier to see how the info was obtained and then simply do that.
That's very nice. I'd still like the tree type output though. If you
know how please post it else I'll experiment with it. Like what you did
here a lot though. Some of my mount points are long though. I had always
hopped all of this would fit nicely in typically shell 80 x 25 display
but more and more that's not going to happen. I use 84 x 33 myself.

crankypuss

unread,
Feb 29, 2016, 12:16:55 PM2/29/16
to
Bit Twister wrote:

> On Mon, 29 Feb 2016 03:49:43 -0700, crankypuss wrote:
>>
>> I've not paid too much attention to your linfo stuff since it's
>> written in bash, but it looks like you've collected a bunch of
>> potentially useful information.
>
> Yeah, that was the intended purpose.

Heh, I got the impression it was "The Marek Learns To Code Show"; my
bad, for not paying attention.

> Newbie would post a question and
> subject matter experts would ask for item information so they could
> ask the newbie for output of desired commands for further research.

That's a great start. I don't know if you've been involved in
developing the Mageia Control Center, but that's another great start.
You still have to parse all that stuff, with the likes of sed. If bash
doesn't have an interface that allows multiple values to be returned or
set for the caller, ala PHP or VM/Rexx, it isn't adequate for use as a
modern scripting engine, imo.

But that doesn't address the issue of interface levels and language
bindings, which is what I was trying to get Marek to consider. What's
intended for humans is not what's intended for code, and vice versa.

Ideally "the operating-system" would maintain all that information and
serve it up for programs through a programming interface, and then some
program can take that data and format it for human consumption; linfo
seems to be doing both functions, which seems not-unusual for the linux
realm, but is not imo the way it should be done.

Since linux isn't an operating-system (it's just the kernel) the
information is stashed here and there helter-skelter according to
whatever its ad-hoc history might have been. That means an interface
level can be (should have been) written to collect the data (and cache
what doesn't change after bootup, like CPU identification) then serve
that information up to scripts through various scripting-language
bindings; some of those scripts could be "commands" that format the data
for the user, like linfo does now.

Instead, the "smarts" accumulated in linfo are all there is, code-reuse
is not maximized; you remember code reuse, it's one of the basic
principles in the apochryphal "Unix Philosophy" that was probably
developed after the fact by some wishful historian?

http://en.wikipedia.org/wiki/Unix_philosophy

Bit Twister

unread,
Feb 29, 2016, 12:33:04 PM2/29/16
to
On Mon, 29 Feb 2016 09:06:00 -0800, Marek Novotny wrote:
> On 2016-02-29, Bit Twister <BitTw...@mouse-potato.com> wrote:
>>
>> Or depending on the desired data just ask for it. One example from the
>> script would be "lsblk -f" whereas I would prefer something like
>> # lsblk -io NAME,SIZE,FSTYPE,LABEL,MOUNTPOINT,PARTLABEL,UUID
>>
>> NAME SIZE FSTYPE LABEL MOUNTPOINT PARTLABEL UUID
>> sda 931.5G
>>|-sda1 800M vfat recovery part 9263-5ADC
>>|-sda11 72.3G ext4 spare /spare spare 6e4b565f-c15d-4e6
>> `-sda12 599.3G ext4 video /video video 164af844-f07d-
>> sdb 931.5G

>
> That's very nice. I'd still like the tree type output though.

Tree was still there, I just added -i for ascii output.


> If you know how please post it else I'll experiment with it.

Remove the i from the -io argument. :)

crankypuss

unread,
Feb 29, 2016, 12:36:37 PM2/29/16
to
Holy jeebus, I've fallen into a nest of raving madmen! <g>

Unfortunately for me, bash scripting is only readable when viewed
through vim, and I found vi repulsive enough never to revisit back in
the '90s.

> Almost anyone
> can figure out what the program is doing.

Leaves me out, I stopped being able to read that kind of crap in about
1985 when VM/Rexx came into the mainframe world and obsoleted EXEC-2.

> With C you have to first get the source code, then try to read the
> writer's uncommented spaghetti code, then change things then
> recompile.

Since one of the things on my todo list is to figure out what is in PHP
that deserves 5 megabytes of footprint, and reduce it to the 100
kilobytes it deserves, and since I have read some other FOSS code, let
me say this about that: UGH, even the code I wrote last month looks like
total shit, and I know what it's supposed to do; the last thing I'm
interested in doing is reading Other People's Code, especially if the
originator was French or whatever and thus uses very strange variable
names.

The value in the FOSS effort imo should be that you can fix it if you
have to, not that you should have to fix it and that it's okay that it
needs to be fixed because people can fix it.

I've had this xps13 since September and it's still driving me nuts in
one way or another, there are so many things that need to be fixed about
this or that part of my setup that I've actually been struggling with
the idea of buying a Mac laptop of some sort just to have an environment
that works well enough that I can make progress not related to making
the environment work.

Of course I wouldn't be able to twiddle every aspect of OSX, but is that
what I want to begin with, to swim through Other People's (bad) Code?
HELL no, I want other peoples' code to hold still and work, I have
enough work to do on my own bad code.

> With bash it is change test change, all in about 5 sec.
>>
> ...
>>
>> Sorry, bash is so fugly that I'm not even going to dig around for the
>> answer to that rhetorical question, I just wanted to offer you a
>> reason
>> to think about some things. Call that "trolling" if you like.
>
> Too bad for you. One of the problems with systemd is that almost
> everything which used to be run by scripts has been replaced by C
> code, making bootup far far more difficult to figure out and change.

What has replaced, can itself become replaced. It doesn't seem that big
a deal to me, the kernel gets pointed at the initial program, end of
story.

Marek Novotny

unread,
Feb 29, 2016, 12:58:52 PM2/29/16
to
Thank you. I'll probably make that change later today.

William Unruh

unread,
Feb 29, 2016, 1:25:38 PM2/29/16
to
On 2016-02-29, crankypuss <inv...@invalid.invalid> wrote:
> William Unruh wrote:
>
>> On 2016-02-29, crankypuss <inv...@invalid.invalid> wrote:
>>> Marek Novotny wrote:
>
> I've had this xps13 since September and it's still driving me nuts in
> one way or another, there are so many things that need to be fixed about
> this or that part of my setup that I've actually been struggling with
> the idea of buying a Mac laptop of some sort just to have an environment
> that works well enough that I can make progress not related to making
> the environment work.

Funny thing-- I bought the xps13 for my son, who is not a computer
hacker. I had real problems at first because of the kernel's handling of
the video, and the trackpad. But my son has now used this machine for 8
months without trouble.

>
> Of course I wouldn't be able to twiddle every aspect of OSX, but is that
> what I want to begin with, to swim through Other People's (bad) Code?
> HELL no, I want other peoples' code to hold still and work, I have
> enough work to do on my own bad code.

And you think commercial organizations do not have bad code?

>
>> With bash it is change test change, all in about 5 sec.
>>>
>> ...
>>>
>>> Sorry, bash is so fugly that I'm not even going to dig around for the
>>> answer to that rhetorical question, I just wanted to offer you a
>>> reason
>>> to think about some things. Call that "trolling" if you like.
>>
>> Too bad for you. One of the problems with systemd is that almost
>> everything which used to be run by scripts has been replaced by C
>> code, making bootup far far more difficult to figure out and change.
>
> What has replaced, can itself become replaced. It doesn't seem that big
> a deal to me, the kernel gets pointed at the initial program, end of
> story.

Sure. Are you going to replace it? Some distros have kept SysV init
Some make it an option. some want to replace it and systemd with
something else.

Systemd has good stuff and very bad stuff. One of the bad things is
that it is really a lot harder to figure out what it is doing (eg all
compiled C code). That and the stupid journald which is unreadable
except with the supplied reader, and by default takes up far too much
space. (over 10% of the disk space)-- yes that can be adjusted if you
know how-- and is monolithic ( everything in one log). So that it is
readable and grepable I also run
rsyslogd -- so that effectively doubles the "logs" space. Silly.




>

Bit Twister

unread,
Feb 29, 2016, 1:46:34 PM2/29/16
to
On Mon, 29 Feb 2016 10:16:51 -0700, crankypuss wrote:
> Bit Twister wrote:
>> Or depending on the desired data just ask for it. One example from the
>> script would be "lsblk -f" whereas I would prefer something like
>> # lsblk -io NAME,SIZE,FSTYPE,LABEL,MOUNTPOINT,PARTLABEL,UUID
>>
>> NAME SIZE FSTYPE LABEL MOUNTPOINT PARTLABEL UUID
>> sda 931.5G
>> |-sda1 800M vfat recovery part 9263-5ADC
>> |-sda2 256M vfat EFI SYSTEM EFI SYSTEM A40D-96A2
>> |-sda3 120M ext4 Ms reserved Ms reserved
>
> You still have to parse all that stuff, with the likes of sed.

Bullshit. All you have to do is use whatever you tell lsblk to provide.
Example:

$ echo "The size of sda3 is $(lsblk -no SIZE /dev/sda3)"
The size of sda3 is 40.8G
See no sed,awk,grep,.... needed.


> If bash
> doesn't have an interface that allows multiple values to be returned

But it does. You can "echo" as much stuff as you want sent back to the
originator.

> or set for the caller,

Now that is just plain stupid. Let's see how much was set by bash for
me during login:
$ env | wc -l
105
items seems just fine for me. Just how many do you need to set.

> ala PHP or VM/Rexx, it isn't adequate for use as a
> modern scripting engine, imo.

Yep, and we all have seen more than enough on how uninformed your opinion is.

> But that doesn't address the issue of interface levels and language
> bindings, which is what I was trying to get Marek to consider. What's
> intended for humans is not what's intended for code, and vice versa.

There was no requirement for Marek's script to be a front end to
another script. Its only goal was dump as much information in a
concise human readable form need for use by subject matter experts to
provide explicit commands to newbie for further problem research.

> Ideally "the operating-system" would maintain all that information and
> serve it up for programs through a programming interface,

And surprise, surprise, there is boatload of programs as indicated by
Marek's script using just a few apps that proves the point.

> and then some
> program can take that data and format it for human consumption; linfo
> seems to be doing both functions, which seems not-unusual for the linux
> realm, but is not imo the way it should be done.

Yeah, I have read way too many of your rants/flame bait on several occasions,
pretty much the same way you are attempting to waste everyone time here.

> Since linux isn't an operating-system (it's just the kernel) the
> information is stashed here and there helter-skelter according to
> whatever its ad-hoc history might have been. That means an interface
> level can be (should have been) written to collect the data (and cache
> what doesn't change after bootup, like CPU identification) then serve
> that information up to scripts through various scripting-language
> bindings; some of those scripts could be "commands" that format the data
> for the user, like linfo does now.

Yep, just more bullshit and further proves you have no clue as to
what is where much less knowing what the hell you are talking about.

Let's take a quick short count of applications which do everything you
just mentioned:
$ ls /usr/bin | wc -l
3767
Wow, that is not too shabby.

I wonder how many man pages relate to those "various scripting-language bindings"
$ man -k \( | wc -l
20548

A tremendous about of information you are alluding to are in memory
without having to use a third generation language like C or C++ to
get access.

Let's take one of your examples and do a bash command to probe for the
CPU information using a bash command. Go ahead an try it.
cat /proc/cpuinfo

It is amazing how much info you can find in the kernel memory by
looking around in /proc or /sys to name a few.


> Instead, the "smarts" accumulated in linfo are all there is,

Bullshit. All Marek did was use a very small set of the tools
indicated by the "Unix Philosophy" to consolidate "some" system
information needed for 90% of the questions posed in the group.

> code-reuse
> is not maximized; you remember code reuse, it's one of the basic
> principles in the apochryphal "Unix Philosophy" that was probably
> developed after the fact by some wishful historian?
>
> http://en.wikipedia.org/wiki/Unix_philosophy

Heheheheheheheheheh, you just provided proof that all that "code-reuse"
methodology was/is provided for the user.

crankypuss

unread,
Feb 29, 2016, 2:06:18 PM2/29/16
to
I've been hinting around that such could be done for some time now but
nobody seems to take the idea seriously. I could be making a lot of
money right now but I don't want to be an unpaid tax accountant so screw
that. I don't know how to set up a foundation so I don't have to deal
with the bullshit directly. End of story as far as I can tell.
Yes, that is what I suggested, though it doesn't take the extra step to
ensure that the invoking script doesn't have to parse anything, since
bash is without parsing of its own.

> For example, I
> am using lsblk, which is a compiled program to obtain device info. I
> am using lscpu to gain access to cpu info. And on and on. Complied C
> programs are already getting information I want. At some point one of
> these C applications might be something I wrote rather than something
> that came with Linux. And at that point, who knows, maybe I'll look at
> the source code for things like df... That's what is so cool about all
> this. I can grab the source code for any part of it. That is just
> amazing to me. I don't actually understand why people aren't shouting
> that from rooftops.

I've been reading bad code since 1969, both other peoples' bad code, and
my own bad code. If it was written before last week it qualifies as
other peoples' bad code, even if I wrote the original and knew for sure
it was perfect at the time I wrote it. <g>

> You don't have to hope to be hired by x company to see how something
> like ZFS or the Ceph file systems actually work. If you're so inclined
> you can grab the source and start reading it today.

Even unemployed people can do that, yep. Eating's another story though.

>> Sorry, bash is so fugly that I'm not even going to dig around for the
>> answer to that rhetorical question, I just wanted to offer you a
>> reason
>> to think about some things. Call that "trolling" if you like.
>
> Well, we have to disagree there. It's an interface between you and
> userland. Did you notice a few days back someone wanted to download a
> lot of pvpn files from a site that offers free VPN. So wget was
> employed. All the ovpn files could be downloaded without user
> interaction of the site itself. It was automated with a shell script.
> And then the issue came up of how to sort them all and test them as
> many simply don't work. Again, a shell script is created to do all
> that work. No one had to look for a pre-compiled utility to buy or
> license. All the tools needed are free and open. You just have to
> write it. And you don't have to learn to compile. All of this is
> easily done in a simple shell written in a simple text editor, which
> is also free and open.

I understand that your eyes have been opened. It's good when your eyes
are open. The more you build, the more they will open. Pretty soon
they'll be as open as mine and people will start throwing rocks and
calling you "troll". <g>

crankypuss

unread,
Feb 29, 2016, 2:10:06 PM2/29/16
to
Have to differ, I think after grub lets go it's the kernel that takes
over, as I recall initrd is the initial filesystem the kernel mounts and
then uses to load drivers and suchlike. Probably they hunted down the
x11 configuration file and modified it before rebuilding the initfs to
include it. Or maybe I don't understand any of this and should take up
fingerpainting. <g>

William Unruh

unread,
Feb 29, 2016, 3:14:32 PM2/29/16
to
On 2016-02-29, crankypuss <inv...@invalid.invalid> wrote:
> William Unruh wrote:
>
>> On 2016-02-29, crankypuss <inv...@invalid.invalid> wrote:
>>> William Unruh wrote:
>> ....
>>
>> After grub lets go, it is initrd which takes over, and puts its own
>> resolution up on the screen. I have never figured out how to get the
>> initrd to use some screen resolution. Perhaps someone else knows how
>> to do that.
>
> Have to differ, I think after grub lets go it's the kernel that takes
> over, as I recall initrd is the initial filesystem the kernel mounts and
> then uses to load drivers and suchlike. Probably they hunted down the
> x11 configuration file and modified it before rebuilding the initfs to
> include it. Or maybe I don't understand any of this and should take up
> fingerpainting. <g>

initrd is a bare bones basic loading of modules, filesystems so that the
boot process can go ahead. It is not necessary (unless for example /usr
is on a different partition than / now adays-- it used to be that the
boot process only used the / partition and not anything in /usr. systemd
demands you also use /usr) It is a way of getting a bare minimum mounted
so that the real boot process can get going. It also sets the terminal
resolution, etc. It uses much smaller fonts than grub does, and ignores
what grub set.
It is NOT X. it does not do anything to the X11 configuration
fingerpainting can be fun.

>

crankypuss

unread,
Feb 29, 2016, 3:38:03 PM2/29/16
to
William Unruh wrote:

> On 2016-02-29, crankypuss <inv...@invalid.invalid> wrote:
>> William Unruh wrote:
>>
>>> On 2016-02-29, crankypuss <inv...@invalid.invalid> wrote:
>>>> Marek Novotny wrote:
>>
>> I've had this xps13 since September and it's still driving me nuts in
>> one way or another, there are so many things that need to be fixed
>> about this or that part of my setup that I've actually been
>> struggling with the idea of buying a Mac laptop of some sort just to
>> have an environment that works well enough that I can make progress
>> not related to making the environment work.
>
> Funny thing-- I bought the xps13 for my son, who is not a computer
> hacker. I had real problems at first because of the kernel's handling
> of the video, and the trackpad. But my son has now used this machine
> for 8 months without trouble.

If all you want to do is run iceweasel and claws-mail with a little gimp
on the side, or watch videos, it's great. If you've been tweaking linux
configs for 20 years it's probably also great. I'd never buy this
system a second time, that's for sure.

>>
>> Of course I wouldn't be able to twiddle every aspect of OSX, but is
>> that what I want to begin with, to swim through Other People's (bad)
>> Code? HELL no, I want other peoples' code to hold still and work, I
>> have enough work to do on my own bad code.
>
> And you think commercial organizations do not have bad code?

Where do you think I was sitting while I was reading Other Peoples' Bad
Code, at the library? You think I would do that for *entertainment*?
Nope, it takes cash to overcome that smell.

>>
>>> With bash it is change test change, all in about 5 sec.
>>>>
>>> ...
>>>>
>>>> Sorry, bash is so fugly that I'm not even going to dig around for
>>>> the answer to that rhetorical question, I just wanted to offer you
>>>> a reason
>>>> to think about some things. Call that "trolling" if you like.
>>>
>>> Too bad for you. One of the problems with systemd is that almost
>>> everything which used to be run by scripts has been replaced by C
>>> code, making bootup far far more difficult to figure out and change.
>>
>> What has replaced, can itself become replaced. It doesn't seem that
>> big a deal to me, the kernel gets pointed at the initial program, end
>> of story.
>
> Sure. Are you going to replace it?

I've done fuglier projects.

> Some distros have kept SysV init
> Some make it an option. some want to replace it and systemd with
> something else.
>
> Systemd has good stuff and very bad stuff. One of the bad things is
> that it is really a lot harder to figure out what it is doing (eg all
> compiled C code). That and the stupid journald which is unreadable
> except with the supplied reader, and by default takes up far too much
> space. (over 10% of the disk space)-- yes that can be adjusted if you
> know how-- and is monolithic ( everything in one log). So that it is
> readable and grepable I also run
> rsyslogd -- so that effectively doubles the "logs" space. Silly.

Npbody's saying you have to put up with it. As I remember it's just an
argument passed to the kernel, go for it.

--
http://totally-portable-software.blogspot.com
[Mon Feb 29: "Addresses - What Good Are They?"]

Marek Novotny

unread,
Feb 29, 2016, 3:52:31 PM2/29/16
to
On 2016-02-29, crankypuss <inv...@invalid.invalid> wrote:
> Marek Novotny wrote:
> I've been hinting around that such could be done for some time now but
> nobody seems to take the idea seriously. I could be making a lot of
> money right now but I don't want to be an unpaid tax accountant so screw
> that. I don't know how to set up a foundation so I don't have to deal
> with the bullshit directly. End of story as far as I can tell.

Well, it's already being done. That's partly what the Linux Foundation
is there for. Google, Facebook and many others also contribute resources
and cash to keep the open source infrastructure we all rely on healthy
and well funded.

I forget who he is but there is a guy out there who quite his job to
raise money so he could work on making development under gnome easier.He
raised a pretty good amount of money and then Red Hat called and said,
we'll just pay you a salary to do what you are doing already. So he's a
Red Hat employee now and he just does what he already did. He's well
funded now.

//snip

>> I would probably take the reverse approach. I'd write a utility to
>> grab info I want in C and then use the linfo script to execute the C
>> program and store stdout into a variable and report it in my general
>> formatted way you already see in the linfo bash script.
>
> Yes, that is what I suggested, though it doesn't take the extra step to
> ensure that the invoking script doesn't have to parse anything, since
> bash is without parsing of its own.

Not sure what you are saying then. I can parse with bash. Just man read
for example. What do you think I'm doing when I alter the IFS, use cut
and write something like cat {file} | while read wanted unwanted. I'm
parsing a stream of data to get what I want. And if the application
always outputs a particular way I can reliably gain the particular part
of that data I want.

>> For example, I
>> am using lsblk, which is a compiled program to obtain device info. I
>> am using lscpu to gain access to cpu info. And on and on. Complied C
>> programs are already getting information I want. At some point one of
>> these C applications might be something I wrote rather than something
>> that came with Linux. And at that point, who knows, maybe I'll look at
>> the source code for things like df... That's what is so cool about all
>> this. I can grab the source code for any part of it. That is just
>> amazing to me. I don't actually understand why people aren't shouting
>> that from rooftops.
>
> I've been reading bad code since 1969, both other peoples' bad code, and
> my own bad code. If it was written before last week it qualifies as
> other peoples' bad code, even if I wrote the original and knew for sure
> it was perfect at the time I wrote it. <g>

We all have to start somewhere.

>> You don't have to hope to be hired by x company to see how something
>> like ZFS or the Ceph file systems actually work. If you're so inclined
>> you can grab the source and start reading it today.
>
> Even unemployed people can do that, yep. Eating's another story though.

Eating... Seems like I have to do that every few hours... Perfect beings
my ass. Why do I need all this food? And then I get sleepy. Talk about a
waste of time...

>>> Sorry, bash is so fugly that I'm not even going to dig around for the
>>> answer to that rhetorical question, I just wanted to offer you a
>>> reason
>>> to think about some things. Call that "trolling" if you like.
>>
>> Well, we have to disagree there. It's an interface between you and
>> userland. Did you notice a few days back someone wanted to download a
>> lot of pvpn files from a site that offers free VPN. So wget was
>> employed. All the ovpn files could be downloaded without user
>> interaction of the site itself. It was automated with a shell script.
>> And then the issue came up of how to sort them all and test them as
>> many simply don't work. Again, a shell script is created to do all
>> that work. No one had to look for a pre-compiled utility to buy or
>> license. All the tools needed are free and open. You just have to
>> write it. And you don't have to learn to compile. All of this is
>> easily done in a simple shell written in a simple text editor, which
>> is also free and open.
>
> I understand that your eyes have been opened. It's good when your eyes
> are open. The more you build, the more they will open. Pretty soon
> they'll be as open as mine and people will start throwing rocks and
> calling you "troll". <g>

I'm a nice guy so I'll not touch that one. My 30 ft pole isn't long
enough...

Marek Novotny

unread,
Feb 29, 2016, 3:58:54 PM2/29/16
to
On 2016-02-29, crankypuss <inv...@invalid.invalid> wrote:
> If all you want to do is run iceweasel and claws-mail with a little gimp
> on the side, or watch videos, it's great. If you've been tweaking linux
> configs for 20 years it's probably also great. I'd never buy this
> system a second time, that's for sure.

I tweaked my 15" for roughly 2 minutes. So far so good. I did bring it
to the office to test the USB-C and that did indeed disconnect on me.
The USB-C to Ethernet doesn't feel as rock solid as a standard USB3 to
Ethernet has become. Not on Windows or Linux and may be a Dell issue.
Hopefully a firmware patch in the future can help. Other than that, so
far, it has been very good. I have resigned myself to using it as my
full time machine for a while.

crankypuss

unread,
Feb 29, 2016, 4:46:18 PM2/29/16
to
Bit Twister wrote:

> On Mon, 29 Feb 2016 10:16:51 -0700, crankypuss wrote:
>> Bit Twister wrote:
>>> Or depending on the desired data just ask for it. One example from
>>> the script would be "lsblk -f" whereas I would prefer something like
>>> # lsblk -io NAME,SIZE,FSTYPE,LABEL,MOUNTPOINT,PARTLABEL,UUID
>>>
>>> NAME SIZE FSTYPE LABEL MOUNTPOINT PARTLABEL UUID
>>> sda 931.5G
>>> |-sda1 800M vfat recovery part
>>> |9263-5ADC
>>> |-sda2 256M vfat EFI SYSTEM EFI SYSTEM
>>> |A40D-96A2
>>> |-sda3 120M ext4 Ms reserved Ms reserved
>>
>> You still have to parse all that stuff, with the likes of sed.
>
> Bullshit. All you have to do is use whatever you tell lsblk to
> provide. Example:
>
> $ echo "The size of sda3 is $(lsblk -no SIZE /dev/sda3)"
> The size of sda3 is 40.8G
> See no sed,awk,grep,.... needed.

Sure, if you're satisfied with "The size of sda3 is 40.8G". If you just
want to give it the device /sda3 and get back the size, you have to
parse it.

>> If bash
>> doesn't have an interface that allows multiple values to be returned
>
> But it does. You can "echo" as much stuff as you want sent back to the
> originator.

Yes, and the originator gets to parse all that shit in a language
without any parsing primitives of its own.

>> or set for the caller,
>
> Now that is just plain stupid. Let's see how much was set by bash for
> me during login:
> $ env | wc -l
> 105
> items seems just fine for me. Just how many do you need to set.

Ah yes, the famed environment variables. Let's see, do those have to be
all-caps still? What about arrays, can you access $LINFO['marekParm3']
and get what was set by the query interface? They're easy enough to
set, but how useful are they? I guess longtime Unix-derivative-users
don't mind polluting their namespace with whatever garbage somebody
might have thought could possibly be useful someday. One look at
anybody's /home directory is enough to make that clear.

And if you *CAN* set environment variables like that, all Marek would
have to do is make a copy of his script and turn it into the info-
provider and change the original to be the info-formatter. Voila,
instantly much more useful by anything that can read environment
variables; nothing lost, much gained.

>> ala PHP or VM/Rexx, it isn't adequate for use as a
>> modern scripting engine, imo.
>
> Yep, and we all have seen more than enough on how uninformed your
> opinion is.

Yes, you are quite correct, I intentionally forgot the details of
various crude languages decades ago, and try to keep the slime from such
languages from rubbing off on me.

>> But that doesn't address the issue of interface levels and language
>> bindings, which is what I was trying to get Marek to consider.
>> What's intended for humans is not what's intended for code, and vice
>> versa.
>
> There was no requirement for Marek's script to be a front end to
> another script.

What's with the "no requirement" schtick, is this the usual disclaimer
that nobody asked for it? Get a grip dude, either you're doing code for
money, or you're doing code for the Art. If you're doing code for
money, do us both a favor and add me to your killfile.

> Its only goal was dump as much information in a
> concise human readable form need for use by subject matter experts to
> provide explicit commands to newbie for further problem research.

Well, then it's just absolutely perfect, just like the rest of the linux
"operating-sytsem", it meets all the specifications that never existed.

>> Ideally "the operating-system" would maintain all that information
>> and serve it up for programs through a programming interface,
>
> And surprise, surprise, there is boatload of programs as indicated by
> Marek's script using just a few apps that proves the point.

I never said there was a scarcity of commands and applications, I just
cast aspersions onto its quality.

>> and then some
>> program can take that data and format it for human consumption; linfo
>> seems to be doing both functions, which seems not-unusual for the
>> linux realm, but is not imo the way it should be done.
>
> Yeah, I have read way too many of your rants/flame bait on several
> occasions, pretty much the same way you are attempting to waste
> everyone time here.

Why don't you spell out for everyone here just what their time should be
spent on, Mommy?
And you've just shown that you're Another Young Turk who knows a lot of
technical details relevant to a fairly small area. Good on you, I was
one of those once. Just don't stay convinced that you know everything
for too long, that tends to impede one's ability to learn. Comfort and
ease are adversaries.

crankypuss

unread,
Feb 29, 2016, 4:54:15 PM2/29/16
to
I had resolved years ago after grief with an old Inspiron that I would
never again buy a Dell. I should have stuck with it.

We'll see what happens, I'm inclined to buy a replacement for this
thing, but then I'd have to figure out what to do with the xps.

crankypuss

unread,
Feb 29, 2016, 5:03:12 PM2/29/16
to
Marek Novotny wrote:

> On 2016-02-29, crankypuss <inv...@invalid.invalid> wrote:
>> Marek Novotny wrote:
>> I've been hinting around that such could be done for some time now
>> but
>> nobody seems to take the idea seriously. I could be making a lot of
>> money right now but I don't want to be an unpaid tax accountant so
>> screw
>> that. I don't know how to set up a foundation so I don't have to
>> deal
>> with the bullshit directly. End of story as far as I can tell.
>
> Well, it's already being done.

I don't think so, but that's just my uninformed opinion.

> That's partly what the Linux Foundation
> is there for. Google, Facebook and many others also contribute
> resources and cash to keep the open source infrastructure we all rely
> on healthy and well funded.
>
> I forget who he is but there is a guy out there who quite his job to
> raise money so he could work on making development under gnome
> easier.He raised a pretty good amount of money and then Red Hat called
> and said, we'll just pay you a salary to do what you are doing
> already. So he's a Red Hat employee now and he just does what he
> already did. He's well funded now.

Most likely he just does what he's told, like all the other employees on
the planet.

> //snip
>
>>> I would probably take the reverse approach. I'd write a utility to
>>> grab info I want in C and then use the linfo script to execute the C
>>> program and store stdout into a variable and report it in my general
>>> formatted way you already see in the linfo bash script.
>>
>> Yes, that is what I suggested, though it doesn't take the extra step
>> to ensure that the invoking script doesn't have to parse anything,
>> since bash is without parsing of its own.
>
> Not sure what you are saying then. I can parse with bash. Just man
> read for example. What do you think I'm doing when I alter the IFS,
> use cut and write something like cat {file} | while read wanted
> unwanted. I'm parsing a stream of data to get what I want. And if the
> application always outputs a particular way I can reliably gain the
> particular part of that data I want.

And what happens when they whip an fdisk on you, stuff in another
parameter in a line that didn't have it before, in the middle of the
line instead of at least putting it on the end? On average I've been
getting hit with something like that about once a year.

>>> For example, I
>>> am using lsblk, which is a compiled program to obtain device info. I
>>> am using lscpu to gain access to cpu info. And on and on. Complied C
>>> programs are already getting information I want. At some point one
>>> of these C applications might be something I wrote rather than
>>> something that came with Linux. And at that point, who knows, maybe
>>> I'll look at the source code for things like df... That's what is so
>>> cool about all this. I can grab the source code for any part of it.
>>> That is just amazing to me. I don't actually understand why people
>>> aren't shouting that from rooftops.
>>
>> I've been reading bad code since 1969, both other peoples' bad code,
>> and
>> my own bad code. If it was written before last week it qualifies as
>> other peoples' bad code, even if I wrote the original and knew for
>> sure it was perfect at the time I wrote it. <g>
>
> We all have to start somewhere.

Yes, and it's always the same place: wherever we happen to be when we
start.

>>> You don't have to hope to be hired by x company to see how something
>>> like ZFS or the Ceph file systems actually work. If you're so
>>> inclined you can grab the source and start reading it today.
>>
>> Even unemployed people can do that, yep. Eating's another story
>> though.
>
> Eating... Seems like I have to do that every few hours... Perfect
> beings my ass. Why do I need all this food? And then I get sleepy.
> Talk about a waste of time...

You'll probably get over the sleep requirement before you get over the
eating requirement, older people seem to need less time to re-sort and
re-organize their wetware database on a nightly basis.

>>>> Sorry, bash is so fugly that I'm not even going to dig around for
>>>> the answer to that rhetorical question, I just wanted to offer you
>>>> a reason
>>>> to think about some things. Call that "trolling" if you like.
>>>
>>> Well, we have to disagree there. It's an interface between you and
>>> userland. Did you notice a few days back someone wanted to download
>>> a lot of pvpn files from a site that offers free VPN. So wget was
>>> employed. All the ovpn files could be downloaded without user
>>> interaction of the site itself. It was automated with a shell
>>> script. And then the issue came up of how to sort them all and test
>>> them as many simply don't work. Again, a shell script is created to
>>> do all that work. No one had to look for a pre-compiled utility to
>>> buy or license. All the tools needed are free and open. You just
>>> have to write it. And you don't have to learn to compile. All of
>>> this is easily done in a simple shell written in a simple text
>>> editor, which is also free and open.
>>
>> I understand that your eyes have been opened. It's good when your
>> eyes
>> are open. The more you build, the more they will open. Pretty soon
>> they'll be as open as mine and people will start throwing rocks and
>> calling you "troll". <g>
>
> I'm a nice guy so I'll not touch that one. My 30 ft pole isn't long
> enough...

Don't get stuck to the tarbaby, oh my! <g>

Marek Novotny

unread,
Feb 29, 2016, 5:25:11 PM2/29/16
to
On 2016-02-29, crankypuss <inv...@invalid.invalid> wrote:
> Marek Novotny wrote:
>
>> On 2016-02-29, crankypuss <inv...@invalid.invalid> wrote:
>>> If all you want to do is run iceweasel and claws-mail with a little
>>> gimp
>>> on the side, or watch videos, it's great. If you've been tweaking
>>> linux
>>> configs for 20 years it's probably also great. I'd never buy this
>>> system a second time, that's for sure.
>>
>> I tweaked my 15" for roughly 2 minutes. So far so good. I did bring it
>> to the office to test the USB-C and that did indeed disconnect on me.
>> The USB-C to Ethernet doesn't feel as rock solid as a standard USB3 to
>> Ethernet has become. Not on Windows or Linux and may be a Dell issue.
>> Hopefully a firmware patch in the future can help. Other than that, so
>> far, it has been very good. I have resigned myself to using it as my
>> full time machine for a while.
>
> I had resolved years ago after grief with an old Inspiron that I would
> never again buy a Dell. I should have stuck with it.

Don't know what to tell ya. I'm on my 5th one. Nothing really to scream
about. In fact I'd easily opinion I've got the best service of my life
from Dell. Seriously, MUCH better than Apple. Yup, that's the truth.
These guys will come right to your office and fix your laptop right in
front of you.

> We'll see what happens, I'm inclined to buy a replacement for this
> thing, but then I'd have to figure out what to do with the xps.

eBay.

crankypuss

unread,
Feb 29, 2016, 5:55:53 PM2/29/16
to
I had to jump through a week's worth of hoops just to convince the
Hindu-speaking support people at Dell that I actually existed so they'd
sell me the damned thing. It was a hint I should have taken.

>> We'll see what happens, I'm inclined to buy a replacement for this
>> thing, but then I'd have to figure out what to do with the xps.
>
> eBay.

Goodwill, who knows, not today's problem. I'm thinking of one of the
following two, the Acer looks like it uses old enough hardware that
linux support should "just work" and the Mac ought to do the basics I
would hope.

http://www.apple.com/shop/buy-mac/macbook-air?product=Z0RL&step=cto_accessories

http://www.newegg.com/Product/Product.aspx?Item=N82E16834314676

Unfortunately neither one has touch. Luckily the support for touch on
Debian-jessie isn't such that I'll miss using it, since all its
functionality still reachable via mouse. The Acer is 1/4 the cost of
the Mac. Hell, I could've bought both for what this xps cost.

OTOH, if I just keep this xps in "stupid mode" it's possible to muddle
through, and it would be a shame to lose the processor power of this
"not a screamer" just because it's unreliable and a pain in the ass.

Fortunately I have no requirements, I'm old and useless, I can just sit
and drink coffee and stare out the window and nobody will bust my chops
for it. <G>

Marek Novotny

unread,
Feb 29, 2016, 6:15:21 PM2/29/16
to
On 2016-02-29, crankypuss <inv...@invalid.invalid> wrote:
> Bit Twister wrote:
>
>> On Mon, 29 Feb 2016 10:16:51 -0700, crankypuss wrote:
>>> Bit Twister wrote:
>>>> Or depending on the desired data just ask for it. One example from
>>>> the script would be "lsblk -f" whereas I would prefer something like
>>>> # lsblk -io NAME,SIZE,FSTYPE,LABEL,MOUNTPOINT,PARTLABEL,UUID
>>>>
>>>> NAME SIZE FSTYPE LABEL MOUNTPOINT PARTLABEL UUID
>>>> sda 931.5G
>>>> |-sda1 800M vfat recovery part
>>>> |9263-5ADC
>>>> |-sda2 256M vfat EFI SYSTEM EFI SYSTEM
>>>> |A40D-96A2
>>>> |-sda3 120M ext4 Ms reserved Ms reserved
>>>
>>> You still have to parse all that stuff, with the likes of sed.
>>
>> Bullshit. All you have to do is use whatever you tell lsblk to
>> provide. Example:
>>
>> $ echo "The size of sda3 is $(lsblk -no SIZE /dev/sda3)"
>> The size of sda3 is 40.8G
>> See no sed,awk,grep,.... needed.
>
> Sure, if you're satisfied with "The size of sda3 is 40.8G". If you just
> want to give it the device /sda3 and get back the size, you have to
> parse it.

No, you don't know much of the shell is all. That slice has a mount
point and you can query that directly with du. So man du.

Say /dev/sd3 is the /home for example.

$ du -sh /home 2> /dev/null

You'll get the size of that mount point. And you can do this with any
directory at all.

>>> If bash
>>> doesn't have an interface that allows multiple values to be returned
>>
>> But it does. You can "echo" as much stuff as you want sent back to the
>> originator.
>
> Yes, and the originator gets to parse all that shit in a language
> without any parsing primitives of its own.

I don't get what your issue is with parsing. I wrote a small C program
to just dump tax added to any number plus the number itself. No dollar
sign, no nothing just because I got sick of thinking about tax. So I
would say tax 1299 and it would hit back a number. You seem to want
something like that. But this is a shell. Each command is meant to be
useful info, like lsblk gives a lot of info. But I might want just part
of that because I am parsing data from several points for my own idea,
such as linfo.

It just seems to me that you're inventing something to complain about.
No one has seen you write anything. You hop from distro to distro and
thus group to group pretty much endlessly complaining. That's why I
opined you sound a lot like Tim. Tim would pretend to have client after
client and somehow every machine, printer, mouse, et al seemed to be the
specific ones that had trouble on Linux. I have more machines than
anyone I ever met. And I have yet to have any issue on par with what Tim
complained about. It became clear to anyone and everyone that Tim was
making it all up. It was trolling pure and simple. He just needed a way
to say, hey I am one of you, but having trouble. Then we see more
trolling. Oh you need to be a guru to use Linux, because Tim, the former
Certified Novell Instructor can't figure it out, thus no reasonable
non-guru can.

You're doing a similar thing here. No PC works for you. The shell sucks.
You carry a blog but never post any code to it. You're doing the same
thing. So if that's not trolling I don't know what is. Post your code,
without your bullshit about why you can't.

If you want a Mac, switch!! Good luck with that. Each to his own.

>>> or set for the caller,
>>
>> Now that is just plain stupid. Let's see how much was set by bash for
>> me during login:
>> $ env | wc -l
>> 105
>> items seems just fine for me. Just how many do you need to set.
>
> Ah yes, the famed environment variables. Let's see, do those have to be
> all-caps still? What about arrays, can you access $LINFO['marekParm3']
> and get what was set by the query interface? They're easy enough to
> set, but how useful are they? I guess longtime Unix-derivative-users
> don't mind polluting their namespace with whatever garbage somebody
> might have thought could possibly be useful someday. One look at
> anybody's /home directory is enough to make that clear.

What's wrong with all caps?

I'm not dumping my output into an array. I could, but that's not what I
am doing. I'm not creating an API for you to call specific data points
from Linfo. You can just call specific data the same way I did directly
from Linux itself.

> And if you *CAN* set environment variables like that, all Marek would
> have to do is make a copy of his script and turn it into the info-
> provider and change the original to be the info-formatter. Voila,
> instantly much more useful by anything that can read environment
> variables; nothing lost, much gained.

You just have to turn everything into an argument. That's trolling. Jez,
what the hell is it with you guys. Can you all just get a life or
something. Get a job.. Get lost, I don't know... Get a cat... I just
don't understand what you trolls have against Linux. You feel
threatened by it for some reason?

>>> ala PHP or VM/Rexx, it isn't adequate for use as a
>>> modern scripting engine, imo.
>>
>> Yep, and we all have seen more than enough on how uninformed your
>> opinion is.
>
> Yes, you are quite correct, I intentionally forgot the details of
> various crude languages decades ago, and try to keep the slime from such
> languages from rubbing off on me.

So you say. So write something and post it. I'm a n00b and I've posted
more code than you. Show off some of that God like talent you claim to
have.

>>> But that doesn't address the issue of interface levels and language
>>> bindings, which is what I was trying to get Marek to consider.
>>> What's intended for humans is not what's intended for code, and vice
>>> versa.
>>
>> There was no requirement for Marek's script to be a front end to
>> another script.
>
> What's with the "no requirement" schtick, is this the usual disclaimer
> that nobody asked for it? Get a grip dude, either you're doing code for
> money, or you're doing code for the Art. If you're doing code for
> money, do us both a favor and add me to your killfile.

No, he's correct. There is no requirement. It's my script. I said what I
wanted to do, did it, and that's it. It is what it is by design. It
does exactly what I intended.

>> Its only goal was dump as much information in a
>> concise human readable form need for use by subject matter experts to
>> provide explicit commands to newbie for further problem research.
>
> Well, then it's just absolutely perfect, just like the rest of the linux
> "operating-sytsem", it meets all the specifications that never existed.

More trolling. I'm going to snip the rest of this because it's a broken
record at this point.

// snip

Marek Novotny

unread,
Feb 29, 2016, 6:35:16 PM2/29/16
to
Nope. I had followed it for some time. I was even a contributor before
the red hat offer. He had worked at MySQL or MariaDB, I forget which. He
was already employed via Open Source and decided he's pet project was
more important to him.

>> //snip
>>
>>>> I would probably take the reverse approach. I'd write a utility to
>>>> grab info I want in C and then use the linfo script to execute the C
>>>> program and store stdout into a variable and report it in my general
>>>> formatted way you already see in the linfo bash script.
>>>
>>> Yes, that is what I suggested, though it doesn't take the extra step
>>> to ensure that the invoking script doesn't have to parse anything,
>>> since bash is without parsing of its own.
>>
>> Not sure what you are saying then. I can parse with bash. Just man
>> read for example. What do you think I'm doing when I alter the IFS,
>> use cut and write something like cat {file} | while read wanted
>> unwanted. I'm parsing a stream of data to get what I want. And if the
>> application always outputs a particular way I can reliably gain the
>> particular part of that data I want.
>
> And what happens when they whip an fdisk on you, stuff in another
> parameter in a line that didn't have it before, in the middle of the
> line instead of at least putting it on the end? On average I've been
> getting hit with something like that about once a year.

Are you kidding? We've had stuff where they are in process of
depreciating it for a decade and it still works. It does happen, I've
seen it with BSD even. I forget where I ran into it once.

I have to deal with dig vs drill and things like that. That's just Linux
or BSD evolving. Things do get updated. You have that in everything.
Hell, look Apple completely dropped the PowerPC in a short time frame.
What about everyone who was writing code for their "Velocity Engine"?
Shit happens...

// snip

Wildman

unread,
Feb 29, 2016, 8:32:55 PM2/29/16
to
On Mon, 29 Feb 2016 12:22:59 +0000, Bit Twister wrote:

> On Mon, 29 Feb 2016 03:49:43 -0700, crankypuss wrote:
>>
>> I've not paid too much attention to your linfo stuff since it's written
>> in bash, but it looks like you've collected a bunch of potentially
>> useful information.
>
> Yeah, that was the intended purpose. Newbie would post a question and
> subject matter experts would ask for item information so they could ask the
> newbie for output of desired commands for further research.

You are absolutely correct. The first followup for most of the posts
on the SolydXK forum is... Please supply the output of inxi -Fxxx.

--
<Wildman> GNU/Linux user #557453
The cow died so I don't need your bull!

crankypuss

unread,
Mar 1, 2016, 5:54:16 AM3/1/16
to
Yes Marek, I understand your point; shame you don't understand mine, but
I'll live through that.

> No one has seen you write anything.

Plenty of people have seen and used code I've written, just not here.

> You hop from distro to distro and
> thus group to group pretty much endlessly complaining.

You'd think anyone halfway objective would at least consider the
possibility that there's something that needs complaining about.

I'll say it again. The linux kernel is pretty good, some of the core
and non-core commands are pretty good, some applications are pretty
good; system configuration sucks, bash is barely-first-generation
scripting code that should have been obsoleted decades ago, and I've yet
to encounter a truly first-rate GUI Desktop Environment.

Is that so evil and against popular party doctrine that I need to be
called a troll at every opportunity?

Get a grip, I'm not looking to take your state of the art scripting tool
away from you like some teddybear you don't want to part with; I'm just
saying the thing is below the dignity of any actual programmer and thank
you very much but I'll go off and build my own so *you* have something
to bellyache about should you venture there.

Am I not free to go off and write my own code? Long live the Borg!

> That's why I
> opined you sound a lot like Tim.

Fuck you for the comparison.


> You're doing a similar thing here. No PC works for you. The shell
> sucks. You carry a blog but never post any code to it. You're doing
> the same thing. So if that's not trolling I don't know what is. Post
> your code, without your bullshit about why you can't.

So some dumbass bash guru can 'splain it?

I'll release what I want, when I want, if I choose to. I'm not
constrained by what constrains you. I don't have to release code before
it's ready to release so management will appraise me highly.

Cybe R. Wizard

unread,
Mar 1, 2016, 9:16:15 AM3/1/16
to
On Tue, 01 Mar 2016 03:54:12 -0700
crankypuss <inv...@invalid.invalid> wrote:

> I'm not looking to take your state of the art scripting tool
> away from you like some teddybear you don't want to part with; I'm
> just saying the thing is below the dignity of any actual programmer

I only have one thing to say about that:
PHP.

Cybe R. Wizard -heh, hypertext!
--
Registered GNU/Linux user # 126326
Registered Ubuntu User (deprecated) # 2136

Marek Novotny

unread,
Mar 1, 2016, 1:48:09 PM3/1/16
to
On 2016-03-01, crankypuss <inv...@invalid.invalid> wrote:
> Marek Novotny wrote:
>> It just seems to me that you're inventing something to complain about.
>
> Yes Marek, I understand your point; shame you don't understand mine, but
> I'll live through that.

Thank you.

>> No one has seen you write anything.
>
> Plenty of people have seen and used code I've written, just not here.

Well, you've been beating your same drum for quite a while. Shame you
have produced zero to show for it.

>> You hop from distro to distro and
>> thus group to group pretty much endlessly complaining.
>
> You'd think anyone halfway objective would at least consider the
> possibility that there's something that needs complaining about.

Plenty to complain about. That's not the issue. When one person does
little else but complain, that's a problem. It's as if that's all you're
here to do.

> I'll say it again. The linux kernel is pretty good, some of the core
> and non-core commands are pretty good, some applications are pretty
> good; system configuration sucks, bash is barely-first-generation
> scripting code that should have been obsoleted decades ago, and I've yet
> to encounter a truly first-rate GUI Desktop Environment.

Ah, Cranky, here is where it all happens. Compare what you just said to
what every single troll says. You guys all have the same playbook.

> Is that so evil and against popular party doctrine that I need to be
> called a troll at every opportunity?

If I wanted to call you a troll at every opportunity you'd see it in
every response I have made. I've likely responded to you at least a
hundred times over the years and I have made reference to you sounding
like a troll what 4 or 5 times. Hardly every opportunity.

> Get a grip, I'm not looking to take your state of the art scripting tool
> away from you like some teddybear you don't want to part with; I'm just
> saying the thing is below the dignity of any actual programmer and thank
> you very much but I'll go off and build my own so *you* have something
> to bellyache about should you venture there.

I'll ask my employer to give me a dollar for one of C programs so I can
claim to be a professional programmer. I don't program for a living, but
I don't see how using the shell is beneath a programmer. Some things are
just best left to the shell. So what a professional C programmer would
refuse to use WGET to grab a bunch of files off a web site because BASH
is too beneath him to use? The fact that you run off in these directions
has pretty much convinced me of what you are. Just like Tim, you create
a believable story and run with it. Take advantage of people who
genuinely want to help anyone who needs it just to get your trolling
rocks off, I guess. It just blows my mind to run into so many of you
guys.

> Am I not free to go off and write my own code? Long live the Borg!
>
>> That's why I
>> opined you sound a lot like Tim.
>
> Fuck you for the comparison.

For that DEAD ON comparison? You can swear at me. It doesn't matter.

>> You're doing a similar thing here. No PC works for you. The shell
>> sucks. You carry a blog but never post any code to it. You're doing
>> the same thing. So if that's not trolling I don't know what is. Post
>> your code, without your bullshit about why you can't.
>
> So some dumbass bash guru can 'splain it?

No, the dumbass bash guru, if that's supposed to be me, is not
interested in php. However, if you're such a hot shot, posting your hot
shot code for others to critique would show off your skill or lack there
of. It's like when a troll says I have a problem with my PC and I say,
show it to me and they can't. Kind of makes me believe they just made it
all up. So with all your years of programming, you ought to be able to
show off something. I had 1 week of C programming before I showed two
console apps, and asked for comments. A real pro such as yourself ought
to be able to better...

> I'll release what I want, when I want, if I choose to. I'm not
> constrained by what constrains you. I don't have to release code before
> it's ready to release so management will appraise me highly.

Wolf!! Wolf!! No, seriously, the wolf is coming this time. Wolf!! Wolf!!
Hey cranky, just produce anything. Offer some evidence you are what you
claim to be, cause from where I am standing, you sound like Tim. Just
another nym you made up and once you trashed your old reputation you
pulled out the one you barely use in reserve. What I have learned from
trolls is that you guys tend to stick around forever. So, who are you
Cranky? A hot shot programmer? Show me.

I knew a guy who said he was a hot shit programmer. You know what he had
a habit of doing? Correcting everyone else's code and telling them why
they are idiots. But when he did this, he showed better code and people
were mad at him all the time but they also told me he was right.

You seem to tell me everything sucks, but don't offer a shred of
anything showing you can do better. You haven't shown anything at all.
You can show that you can raise a blog. Oh that's so hard. You can
complain a lot, which amounts to hot air. But you have actually shown
one shred of code.

Wildman

unread,
Mar 1, 2016, 3:54:14 PM3/1/16
to
On Mon, 29 Feb 2016 08:56:50 -0800, Marek Novotny wrote:

> I'm also interested in Python and QT.

Funny you should mention that. I am working on a gui
version of makexface using python and Tkinter. My
first search for info was "create a gui with python".
There were many more hits for Tk than anything else.
So I am going that route. So far no regrets.

Most of the info I found about QT was centered around
a couple of programs, qtcreater and qtdesigner. If I
wanted a design IDE I would stay with VB. :-)

Marek Novotny

unread,
Mar 1, 2016, 4:18:26 PM3/1/16
to
On 2016-03-01, Wildman <best...@yahoo.com> wrote:
> On Mon, 29 Feb 2016 08:56:50 -0800, Marek Novotny wrote:
>
>> I'm also interested in Python and QT.
>
> Funny you should mention that. I am working on a gui
> version of makexface using python and Tkinter. My
> first search for info was "create a gui with python".
> There were many more hits for Tk than anything else.
> So I am going that route. So far no regrets.
>
> Most of the info I found about QT was centered around
> a couple of programs, qtcreater and qtdesigner. If I
> wanted a design IDE I would stay with VB. :-)

I started a new thread for Pyhthon / QT. We can move this over to that
and leave this one to its topic.

crankypuss

unread,
Mar 1, 2016, 6:33:58 PM3/1/16
to
If your code was as bad as mine you wouldn't brag it around either,
you'd wait until you had something decent.

Here, see what you can make of this one, no telling what knode will
do with the tabs; see if it makes you hate me more, or less. I have lots
of code, but it's all in PHP. Now stfu please.


// need NOT be called as root, use sysfs to get list of all real (non-virtual) block
// devices currently present. returns false on failure, else an array whose
// index is the device name (sorted-ascending), and which contains the following:
//
// $result[$device]['size']['blocks'] = number of blocks
// $result[$device]['size']['blockSize'] = block size in bytes
// $result[$device]['size']['totalBytes'] = blocks * blockSize
// $result[$device]['size']['readable'] = totalBytes as KiB, MiB, GiB,
TiB
// $result[$device]['removable'] = boolean removability indicator
// $result[$device]['mfgName'] = "vendor: model"
// $result[$device]['partition'][$partition]['size']['blocks'] = blocks
in partition
// $result[$device]['partition'][$partition]['size']['totalBytes'] =
blocks * $blkSize;
// $result[$device]['partition'][$partition]['size']['readable'] =
totalBytes as KiB, MiB, GiB, TiB
// $result[$device]['partition'][$partition]['start']['block'] =
starting block
// $result[$device]['partition'][$partition]['start']['readable'] =
block * $blkSize as KiB, MiB, GiB, TiB
// $device is the userspace name of the device, eg "/dev/sda"
// $partition is the userspace name of the partition, eg "/dev/sda6"
//
// for information about sysfs, see:
// https://www.kernel.org/doc/Documentation/sysfs.txt
// https://www.kernel.org/doc/Documentation/sysfs-rules.txt
// in particular,
// "- sysfs is always at /sys"
// "- devices are only 'devices' There is no such thing like
class-, bus-,
// physical devices, interfaces, and such that you
can rely on in userspace.
// Everything is just simply a "device". Class-,
bus-, physical, ... types
// are just kernel implementation details which
should not be expected by
// applications that look for devices in sysfs."
// "devpath (/devices/pci0000:00/0000:00:1d.1/usb2/2-2/2-2:1.0)
// - identical to the DEVPATH value in the event sent from the
kernel
// at device creation and removal
// - the unique key to the device at that point in time
// - the kernel's path to the device directory without the
leading
// /sys, and always starting with a slash"
// (note: contained in variable $devPath below.)
//
// NOTE: the "parted -l" command can be used to obtain similar information, but has
// several disadvantages:
// - requires that the caller be running as root
// - does not ignore virtual devices like "/dev/zram0"
// - under certain timing conditions when a device is removed, it may
hang due to
// a broken pipe.
// This routine works better for detecting what devices actually exist, than
other
// commands like parted/fdisk/etc. can be used to add details as necessary.
//
// USAGE NOTE: an extended partition will be listed "nakedly", IOW its start block
and
// size will be listed but that is the extended partition descriptor alone, so
the
// reported size will not be the size of the extended partition.
//
// 2014.08.19 initial version
// 2014.11.04 significant rewrite to add details and partition info.
// 2014.11.06 update comments
// 2014.11.07 change result item names for consistency.
// 2014.11.17 return $result[$device]['partition'][$partition]['size']['blocks'].
function getRealBlockDeviceList()
{
$result = false; // if
unable to open /sys/block directory
$sysBlock = '/sys/block'; // only
interested in block devices
$usrNamePfx = '/dev'; //
userspace device name prefix
$virtDev = 'virtual'; // in
devPath of virtual devices
if ($dh = @opendir($sysBlock))
{
$result = array();
while (($kName = readdir($dh)) !== false) // scanning
"/sys/block"
{
if ($kName=="." || $kName=="..") // kernel-name
of device, eg "sda"
continue;
$blkDevLinkName = "$sysBlock/$kName"; // eg,
"/sys/block/sda"
if (!@is_link($blkDevLinkName))
continue;
// "/sys/block" contains only links
$linkCont = @readlink($blkDevLinkName);
if ($linkCont === false)
continue;
$linkDirs = explode('/', $linkCont);
if ($linkDirs[2] == $virtDev)
continue;
// "../devices/virtual/block/ram0" --> not physical
if ($linkDirs[0] == "..")
$linkDirs[0] = "";

$devPath = implode('/', $linkDirs); //
"/devices/pci0000:00/0000:00:1f.2/host1/target1:0:0/1:0:0:0/block/sda"
$deviceInfoDir = "/sys$devPath";
$device = "$usrNamePfx/$kName"; //
userspace name, eg "/dev/sda"

// if device is actually present, the "size" file will be
present/nonzero.
$deviceSizeFile = "$deviceInfoDir/size";
$blocks = @file_get_contents($deviceSizeFile);
if ($blocks == false)
continue;
$blocks = trim($blocks);
if ($blocks == 0)
continue;
// device not physically present
$result[$device] = array();
$blocks = (float)$blocks;

// extract device hex-id from "dev" file in device
information directory.
$deviceHexIdFile = "$deviceInfoDir/dev";
$hexId = @file_get_contents($deviceHexIdFile);
if ($hexId === false)
{
closedir($dh);
return false;
}

// record physical device blocks and block-size.
$result[$device]['size']['blocks'] = $blocks;
$blkSizeFile =
"/sys/block/$kName/queue/physical_block_size";
$blkSize = @file_get_contents($blkSizeFile);
if ($blkSize == false)
{
closedir($dh);
return false;
}
$blkSize = (float)trim($blkSize);
$result[$device]['size']['blockSize'] = $blkSize;
$result[$device]['size']['totalBytes'] = $blkSize *
$blocks;
$result[$device]['size']['readable'] = asKilo($blkSize *
$blocks);

// determine removability.
$deviceRemovabilityFile = "$deviceInfoDir/removable";
$remov = @file_get_contents($deviceRemovabilityFile);
if ($remov !== false)
$result[$device]['removable'] = trim($remov) ?
true : false;

// extract relevant information from files in "device" sub-
directory.
$vendorNameFile = "$deviceInfoDir/device/vendor";
$modelNameFile = "$deviceInfoDir/device/model";
$vendor = @file_get_contents($vendorNameFile);
if ($vendor === false)
$vendor = "vendor-unknown";
else
$vendor = trim($vendor);
$model = @file_get_contents($modelNameFile);
if ($model === false)
$model = "model-unknown";
else
$model = trim($model);
$devMfgrInfo = "$vendor: $model";
$result[$device]['mfgName'] = $devMfgrInfo;

// scan device information directory for partition sub-
directories,
// these begin with the device's kernel-name, eg "sda".
if ($ph = @opendir($deviceInfoDir))
{
$knl = strlen($kName);
while (($pName = readdir($ph)) !== false)
{
if (substr($pName,0,$knl) != $kName)
continue;
if (!is_dir("$deviceInfoDir/$pName"))
continue;
$pDevIdFile =
"$deviceInfoDir/$pName/dev";
if (!file_exists($pDevIdFile))
continue;
$pDevId =
@file_get_contents($pDevIdFile);
if ($pDevId === false)
continue;
$partition = "$usrNamePfx/$pName";
// userspace name, eg "/dev/sda6"
$pDevId = trim($pDevId);

$pSysDevIntf =
"/sys/dev/block/$pDevId";// device interface directory
$pSizeFile = "$pSysDevIntf/size";
// size in blocks
$blocks = @file_get_contents($pSizeFile);
if ($blocks === false)
continue;
$blocks = (float)trim($blocks);
$result[$device]['partition'][$partition]
['size']['blocks'] = $blocks;
$result[$device]['partition'][$partition]
['size']['totalBytes'] = $blocks * $blkSize;
$result[$device]['partition'][$partition]
['size']['readable'] = asKilo($blocks * $blkSize);

$startFile = "$pSysDevIntf/start";
// starting block
$start = @file_get_contents($startFile);
if ($start === false)
continue;
$start = (float)trim($start);
$result[$device]['partition'][$partition]
['start']['block'] = $start;
$result[$device]['partition'][$partition]
['start']['readable'] = asKilo($start * $blkSize);
}
closedir($ph);
if (count($result[$device]['partition']) > 0)
ksort($result[$device]['partition']);
}
}
closedir($dh);
if (count($result) > 0)
ksort($result); // always
order by ascending device name
}
return $result;

Marek Novotny

unread,
Mar 1, 2016, 6:50:11 PM3/1/16
to
On 2016-03-01, crankypuss <inv...@invalid.invalid> wrote:
> marek novotny wrote:
>> Wolf!! Wolf!! No, seriously, the wolf is coming this time. Wolf!!
>> Wolf!! Hey cranky, just produce anything. Offer some evidence you are
>> what you claim to be, cause from where I am standing, you sound like
>> Tim. Just another nym you made up and once you trashed your old
>> reputation you pulled out the one you barely use in reserve. What I
>> have learned from trolls is that you guys tend to stick around
>> forever. So, who are you Cranky? A hot shot programmer? Show me.

> If your code was as bad as mine you wouldn't brag it around either,
> you'd wait until you had something decent.
>
> Here, see what you can make of this one, no telling what knode will
> do with the tabs; see if it makes you hate me more, or less. I have lots
> of code, but it's all in PHP. Now stfu please.

//snip

Thank you. Now I'm shutting the fuck up. :)

crankypuss

unread,
Mar 2, 2016, 6:12:01 AM3/2/16
to
Since un-quieting and un-splashing the boot messages in grub2, I've been
able to see the messages as they flash across the screen, but it hasn't
been hanging on shutdown. (Haven't seen the startup hang except for a
few times a while back.)

Yesterday evening as I was turning things off for the day it hung on
shutdown again. I didn't want to sprint for my reading specs and miss
what I might be able to squint at and I sat there and squinted real hard
to read the itty letters.

I'm pretty sure it said something like "starting ACPI daemon".

From this my deduction is that there's a timing window in shutdown,
somebody is issuing a command to the hardware and then setting a timer;
that is *not* the way it should be done, the timer should always be set
*prior* to the issuance of the hardware command, to prevent some "not a
screamer" from getting done before you start the daemon that waits for
it to complete.

Anyway that's my take on it at present, I'm not sure whether I should
bother to pursue it or not, I can always just hold the power button down
until the machine condescends to turn off, then wait a bit longer next
boot while startup forces an fsck which ought to pass since all the
unmounting needs to be done before the hardware gets told to shut off or
whatever it's doing there, maybe turning off the screen before turning
off main-power.

Doubtless clear as mud, go figure.

William Unruh

unread,
Mar 2, 2016, 3:23:11 PM3/2/16
to
On 2016-03-02, crankypuss <inv...@invalid.invalid> wrote:
> Since un-quieting and un-splashing the boot messages in grub2, I've been
> able to see the messages as they flash across the screen, but it hasn't
> been hanging on shutdown. (Haven't seen the startup hang except for a
> few times a while back.)
>
> Yesterday evening as I was turning things off for the day it hung on
> shutdown again. I didn't want to sprint for my reading specs and miss
> what I might be able to squint at and I sat there and squinted real hard
> to read the itty letters.
>
> I'm pretty sure it said something like "starting ACPI daemon".

Hm. STarting seems a bit weird. Stopping is more likely.
Yes, there probably is some sort of race condition that is occuring.

But I guess keep a pair of spare cheap reading glasses beside your computer.
(It is so easy to debug a problem after the event).

As I said, my son's xps13 has not had a shutdown delay problem AFAIK for
the past 8 months. (Mageia 5) Not sure what I did.

One question, do you have psmouse module loaded or compiled into the
kernel (/boot/config* look for CONFIG_MOUSE_PS2=y) It may be a fight
between the two trackpad controllers. (Just a really wild guess)

>
> From this my deduction is that there's a timing window in shutdown,
> somebody is issuing a command to the hardware and then setting a timer;
> that is *not* the way it should be done, the timer should always be set
> *prior* to the issuance of the hardware command, to prevent some "not a
> screamer" from getting done before you start the daemon that waits for
> it to complete.

Or if hardware A shuts down first everything is fine, but if B gets
there first, they block each other.

crankypuss

unread,
Mar 2, 2016, 3:57:09 PM3/2/16
to
William Unruh wrote:


> One question, do you have psmouse module loaded or compiled into the
> kernel (/boot/config* look for CONFIG_MOUSE_PS2=y) It may be a fight
> between the two trackpad controllers. (Just a really wild guess)

Here are the CONFIG_MOUSE lines, I have no idea what they mean without
doing a google search:

CONFIG_INPUT_MOUSE=y
CONFIG_MOUSE_PS2=m
CONFIG_MOUSE_PS2_ALPS=y
CONFIG_MOUSE_PS2_LOGIPS2PP=y
CONFIG_MOUSE_PS2_SYNAPTICS=y
CONFIG_MOUSE_PS2_CYPRESS=y
CONFIG_MOUSE_PS2_LIFEBOOK=y
CONFIG_MOUSE_PS2_TRACKPOINT=y
CONFIG_MOUSE_PS2_ELANTECH=y
CONFIG_MOUSE_PS2_SENTELIC=y
# CONFIG_MOUSE_PS2_TOUCHKIT is not set
CONFIG_MOUSE_PS2_FOCALTECH=y
CONFIG_MOUSE_SERIAL=m
CONFIG_MOUSE_APPLETOUCH=m
CONFIG_MOUSE_BCM5974=m
CONFIG_MOUSE_CYAPA=m
CONFIG_MOUSE_INPORT=m
# CONFIG_MOUSE_ATIXL is not set
CONFIG_MOUSE_LOGIBM=m
CONFIG_MOUSE_PC110PAD=m
CONFIG_MOUSE_VSXXXAA=m
# CONFIG_MOUSE_GPIO is not set
CONFIG_MOUSE_SYNAPTICS_I2C=m
CONFIG_MOUSE_SYNAPTICS_USB=m

Generally I have done a "synclient touchpadoff=1" after login because I
don't like touchpads except when there's no mouse available, too easy to
touch by mistake. I use a Microsoft wireless USB mouse (had trouble
setting up a bluetooth mouse). So conceivably there could be some
conflict for all I know. Thanks.

William Unruh

unread,
Mar 2, 2016, 7:19:11 PM3/2/16
to
On 2016-03-02, crankypuss <inv...@invalid.invalid> wrote:
> William Unruh wrote:
>
>
>> One question, do you have psmouse module loaded or compiled into the
>> kernel (/boot/config* look for CONFIG_MOUSE_PS2=y) It may be a fight
>> between the two trackpad controllers. (Just a really wild guess)
>
> Here are the CONFIG_MOUSE lines, I have no idea what they mean without
> doing a google search:
>
> CONFIG_INPUT_MOUSE=y
> CONFIG_MOUSE_PS2=m

This is the crucian one. It means that the ps2 mouse driver is a module,
not compiled in. Which is good, because you can blackball it
(/etc/modprobe.d/blackball* contains the blackballed modules.)

Or do
lsmod|grep psmouse
if that returns with a line containing psmouse, then you probably have
botht eh psmouse module and i2c modules fighting over the trackpad.
>

crankypuss

unread,
Mar 3, 2016, 4:16:41 AM3/3/16
to
> lsmod|grep psmouse
psmouse 93505 0

Apparently then, modules are/may-be fighting over the trackpad. It's
not clear to me how that would work its way into a shutdown delay, but
things that work don't always need to be fully understood.

Here's this,

> ls /etc/modprobe.d
amd64-microcode-blacklist.conf dkms.conf intel-microcode-
blacklist.conf modesetting.conf
broadcom-sta-dkms.conf fbdev-blacklist.conf libpisock9.conf

So, apparently I need to create a new .conf file in that directory. I
don't know what its name or contents should be.

Am I even understanding what I'm being told here? Not sure. Thanks for
hanging in there on this though.

Bit Twister

unread,
Mar 3, 2016, 7:54:29 AM3/3/16
to
On Thu, 03 Mar 2016 02:16:36 -0700, crankypuss wrote:
>
> Here's this,
>
>> ls /etc/modprobe.d
> amd64-microcode-blacklist.conf dkms.conf intel-microcode-
> blacklist.conf modesetting.conf
> broadcom-sta-dkms.conf fbdev-blacklist.conf libpisock9.conf
>
> So, apparently I need to create a new .conf file in that directory. I
> don't know what its name or contents should be.

For any lurkers still reading the thread, I can recommend some rules
for /what/ever.d file naming conventions.

1. Suffix and contents needs to be consistent with applicable man page
directives.

2. Add an identifiable string to your custom /what/ever.d/file.names
so you can easily locate/identify them.

3. Where possible, use the same file name as the /what/ever.conf
configuration file you would have modified in the first place.
That way you have a hint as to what configuration is being changed.
Example: If modifying /etc/my.cnf create my__my.cnf

4. Directory sort order matters, so check order of execution/usage
precedence with the command: LC_ALL=C ; ls -1 /what/ever.d/

5. Where possible, add a comment as to why/where you found the information
for making the change. Example snippet from /etc/sysctl.d/my__sysctl.conf

# disable all ipv6
# http://ask.xmodulo.com/disable-ipv6-linux.html

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1

6. Pay attention to comment indicator. Not all use '#'.

Note: Not all files are in /what/ever.d/.

The following are my current modification files as naming examples:
$ locate my__
/etc/X11/xorg.conf.d/my__screen.conf
/etc/conf.d/my__wireless-actiontech
/etc/conf.d/my__wireless-chris
/etc/conf.d/my__wireless-netgear
/etc/dovecot/conf.d/my__dovecot.conf
/etc/exports.d/my__exports.exports
/etc/modprobe.d/20_my__custom.conf
/etc/my.cnf.d/my__my.cnf
/etc/rkhunter.d/my__rkhunter.conf
/etc/rsyslog.d/00_my__common.conf
/etc/sensors.d/my__lm_sensor.conf
/etc/sysctl.d/my__sysctl.conf
/etc/systemd/network/11_my__enp4s0.network
/etc/systemd/network/12_my__enp4s0.network
/etc/systemd/network/12_my__wlp2s0.network
/usr/lib/systemd/network/10_my__enp3s0.network
/usr/lib/systemd/network/11_my__enp4s0.network
/usr/lib/systemd/network/12_my__wlp2s0.network

Marek Novotny

unread,
Mar 6, 2016, 1:12:34 AM3/6/16
to
On 2016-02-29, Bit Twister <BitTw...@mouse-potato.com> wrote:
> On Mon, 29 Feb 2016 09:06:00 -0800, Marek Novotny wrote:
>> On 2016-02-29, Bit Twister <BitTw...@mouse-potato.com> wrote:
>>>
>>> Or depending on the desired data just ask for it. One example from the
>>> script would be "lsblk -f" whereas I would prefer something like
>>> # lsblk -io NAME,SIZE,FSTYPE,LABEL,MOUNTPOINT,PARTLABEL,UUID
>>>
>>> NAME SIZE FSTYPE LABEL MOUNTPOINT PARTLABEL UUID
>>> sda 931.5G
>>>|-sda1 800M vfat recovery part 9263-5ADC
>>>|-sda11 72.3G ext4 spare /spare spare 6e4b565f-c15d-4e6
>>> `-sda12 599.3G ext4 video /video video 164af844-f07d-
>>> sdb 931.5G
>
>>
>> That's very nice. I'd still like the tree type output though.
>
> Tree was still there, I just added -i for ascii output.
>
>
>> If you know how please post it else I'll experiment with it.
>
> Remove the i from the -io argument. :)

Okay, this is updated in linfo and committed.

Thanks Bit.
0 new messages