You are not logged in.
$HOME/Zeal/Music*/*.{opus}
I think bash doesn't handle braces around singleton option well; it only works well when there are options. And it also has to find some * match for every option otherwise it results in the glob string itself. Though, perhaps inserting a prior
shopt -s nullglobchanges that.
Thus, in effect, all those selections ending {opus} end up as "bad pathnames" when picked for the later play command.
In other words, remove the braces for all {opus} and insert that shopt command, and then it hopefully will work consistently.
Expanded example with some more audio paths, and also that I added "$" for "$RANDOM" just for symmetry (although it shouldn't be needed) and removed the braces for $PICK (also not needed).
#!/bin/bash
AUDIO=(
$HOME/folder*/*.{wav,mp3,ogg}
$HOME/with/some/path/*.mp3
/usr/share/sounds/alsa/*.wav
)
LENGTH=${#AUDIO[@]}
PICK=$(( $RANDOM % $LENGTH ))
play ${AUDIO[$PICK]}In detail,
the AUDIO assignment is the collection of possible audio files, which in this example includes any files with extensions wav, mp3 or ogg in any home folder whose name starts with "folder", plus any mp3 file in the folder path "with/some/path" from the home folder, plus any wav file in (system) folder "/usr/share/sounds/alsa/";
the LENGTH assignment is the number of pathnames in the AUDIO list;
the PICK assignment is an integer between 0 and LENGTH-1 picked from a uniform distribution between 0 and 32767, modulo the length (which makes it favour lower numbers); and
the play command is of the PICK:th pathname of AUDIO list
I'm sure you can edit the audio paths to suit your needs.
But, there's something funny going on if it doesn't pick at random; perhaps a misspelling? But if you used Copy-and-Paste then that wouldn't be the case. The other option is that the audio selection doesn't find more than one file.. You might check that by inserting
echo ${AUDIO[@]}immediately after the assignment, and review that output....
The script could be something simple, like
#!/bin/bash
AUDIO=( $HOME/folder*/*.{wav,mp3,ogg} )
LENGTH=${#AUDIO[@]}
PICK=$(( RANDOM % $LENGTH ))
play ${AUDIO[${PICK}]}Then it depends on which display management you are using; with xfce4 you would go to "Settings":"Session and Startup" and add a new entry for "Application Autorstart" and there point at your executable script. That would set it up so that that script gets executed upon login.
If you want it tied to console login you might add it to your ".bashlogin", or similar depending on which shell you are using.
There's a little bit of mismatch between:
I am using Beowulf on a chromebook with Xfce desktop environment.
and:
500 [url]http://us.deb.devuan.org/merged[/url] ascii-updates/main amd64 Packages release v=2.0.0,o=Devuan,a=oldstable-updates,n=ascii-updates,l=Devuan,c=main,b=amd64 origin us.deb.devuan.org 500 [url]http://us.deb.devuan.org/merged[/url] ascii-security/main amd64 Packages release v=2.0,o=Devuan,a=oldstable-security,n=ascii-security,l=Devuan-Security,c=main,b=amd64 origin us.deb.devuan.org 500 [url]http://us.deb.devuan.org/merged[/url] ascii/main amd64 Packages release v=2.1,o=Devuan,a=oldstable,n=ascii,l=Devuan,c=main,b=amd64 origin us.deb.devuan.org
Perhaps it's worth to deal with that first, and then see if the problem remains.
As @GlennW noted the kernel package is available in the alpha-20210503 ISO, which I could find from Devuan's backup, but that doesn't include the headers.
Possibly you could get them from the "orginal source" which I think would be
https://www.kernel.org/pub/linux/kernel … .28.tar.xz
.. but then there's the caveat that this might be well a "red herring"....
EDIT: Note that Debian has a couple of patches applied to header files. Though off the top they don't seem to concern graphics.
That might be right; and the corresponding linux-headers would be at least in the server and desktop isos.
Though, the chimaera alpha ISOs are rebuilt every Monday and might now hold only the 5.10.0-7 package(s).
You find linux-image-5.10.0-0 in beowulf-backports. That's kernel version 5.10.24 (as opposed to 5.10.40 that is packaged as linux-image-5.10.0-7 and kernel version 5.10.28 that was packaged into linux-image-5.10.0-6)
Links for direct download of the .deb(s) could be:
linux-image-5.10.0-0.bpo.5-amd64=5.10.24-1~bpo10+1
and
linux-headers-5.10.0-0.bpo.5-amd64=5.10.24-1~bpo10+1
Hmm that observation suggests it relates to the kernel version?
or is there some apparmor involved?
Yes it appears to be fully chromium's problem... are you sure it runs with your credentials rather than some "sandbox user" ?
You might try running
fuser -v /dev/snd/*to see which if any (other) process "owns" the device.
You might try running
fuser -v /dev/snd/*to see which if any (other) process "owns" the device.
There is a program and package fbcat for grabbing the frame buffer into ppm format. You'd need to arrange for that to be available to the installer and run regularly to screenshotting.
E.g., set up a special USB stick that holds that program and has space to hold the succession of snapshots. Then, at the very first dialogue you shift over to VT2 to mount that USB and start the regular repeated snapshotting (example below), and then you shift back to VT1 and continue. Making a snapshot every 5 seconds gather 12 snapshots a minute, each being (I think) ${number of pixels}x4 bytes in size, typically < 1Mb each. I.e. 1 Gb space handles about an hour of 5-second snapshots.
while sleep 5 ; do fbcat /dev/fb0 > snap-$(date +%s) ; doneNote that this would be for screenshotting the linux frame buffer. The "graphical mode" installers run tthisheir X servers which hold their screen images in memory (without using the linux frame buffer(s)), so screenshotting them is slightly different.
Based on a shallow look-around, it would seem you'll need to get the "st" module loaded.
Perhaps a plain
# modprobe stis sufficient, or maybe it needs some more intricate incantation.
(Possibly it needs a tape loaded at the time)
Look up Documentation/scsi/st.rst in the kernel source for details of that module.
Did you try making /dev/tape a link to /dev/sdc? (though it might well need some API adapter between)
What is all this about?
Is it just me or am I seeing far too many (unrequired) Mandatory Access Control instances in the Linux kernel?
I would call it Way Too Many.
tomoyo-tools seems to be to be upstreamed from http://tomoyo.osdn.jp/ (and why that is enabled in debian's standard linux-image is unkown to me). Apparently adding security=none to the boot command should disable this one.
I think debian configures all run-levels 2-5 the same, so you'll need to change one of them, say 3, to boot up without starting a display manager (slim).
There are many ways to do so. For example, you might install sysv-rc-conf and run that in a terminal so as to "untick" the box for slim at run level 3, and then reboot with grub set to use run level 3.
I haven't tried this myself but I believe it's sufficient to avoid slim at boot up.
Don't the instructions at https://wiki.winehq.org/Debian work for you?
I suppose, for a 64-bit Devuan beowulf, you will also need the prior
# dpkg --add-architecture i386so as to enable "multiarch support".
Thereafter it's the usual 3 steps: download and add their key, add their "buster" repository sources.list point and update, and then install their package(s). (Though contrary to those instructions, I would always use --no-install-recommends for installing)
EDIT: I forgot the m3u ...
find /srv/Audio/CDs -name \*.wav -o -name \*.m3u -print0 | xargs -0 cp -t /media/usb_deviceor perhaps
find /srv/Audio/CDs -type f -print0 | xargs -0 cp -t /media/usb_device@dice's advice is for registering the connection details for the particular ESSID and WPAKEY.
For a laptop, you might want a slightly more flexible configuration, and to use the wpa_gui to deal with new wireless access points.
First, enter the following at the top of /etc/wpa_supplicant/wpa_supplicant.conf:
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
p2p_disabled=1Secondly, bring down wlan0 (ifdown wlan0) before changing /etc/network/interfaces to have the follwing variant declaration:
auto wlan0
iface wlan0 inet manual
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcpYou'll note the difference of having a manual stanza with wpa-roam rather than wpa-conf, and a seemingly extra stanza declaring use of a dhcp configuration for a virtual default interface. All that is in support of roaming with dhcp.
Next, install wpagui (that's the package name for the wpa_gui tool) as user management tool for connecting your wireless interface to available acccess point by choice. By virtue of the update_config=1 setting you may save accesspoint settings so wpa_supplicant can find them "automatically" later.
You might also need to re-login the user after ensuring the user is in the netdev group, as per that first configuration line which wpa_supplicant will use for its control sockets.
With that you should be all set. for completeness, the p2p_disabled=1 is needed in order to disable that function which otherwise causes wpa_supplicant to be confused.. I'm not sure about the details.
@rolfie, if you really want eth0 and wlan0 configurations to be alternatives you might add the lines
pre-up ifdown wlan0 || trueto the eth0 configuration, and
pre-up ifdown eth0 || trueto the wlan0 configuration.
You must also remove the allow-hotplug lines to avoid that the automated management tries to bring them both up on boot and status change. Then bring the right one up manually, or via some software that understands the applicable cabling situation, like for example wicd, connman or network-manager.
Note that any of the latter will compete with your current networking setup, so you will need to clear that out if you use one of them.
Alternatively you take the DIY approach using ethtool and wpa_cli to discover the applicable cabling situation; this approach brings the great joy of further learning situations. (For example that wlan0 must be brought up at link level without configuration in order to scan for access points and determine its "cabling" options, while eth0 is more physical)
Firstly, you cannot easily have two interfaces configured for the same network. I.e., if you want eth0 down and wlan0 up, you'd need to do that, in that order:
# ifdown eth0 ; ifup wlan0Secondly, the gateway for static configuration does the same as your post-up additions to the wlan0 confguration; i.e. remove the post-up lines.
Thirdly, with allow-hotplug rather than auto you declare that networking should be managed via hotplugging, in which case udev will try to configure the nominated interfaces. Both of them if there is a cable, and potentially with a bit of race between them; one first, then the other. Since you have gateway declarations for both configurations, there will be a competition where the first one wins.
Possibly your misapprehension is that you regard the configurations as alternatives while udev will treat them as "complementary" or "conjunctive" and apply them both. Afaict the network management via either allow-hotplug (/lib/udev/net.agent) or auto (/etc/init.d/networking) don't actually detect "presence of cable" to only apply configurations "as per available cabling". Instead it will configure all interfaces that it is set to configure, i.e., both eth0 and wlan0, including the possible race and competition about gateway (aka default route).
The problem with 2 interfaces on the same network is that return traffic will go through the first unless you in addition set up a source based routing rule, so that the kernel has different routing tables for outbound packets depending on what the source IP is. That can be done, but it's not an automatic function in the kernel's networking logic.
You need to set the default route to be via the wlan0 interface
# ip route replace default via 10.5.5.1 dev wlan0You also should rather not have localnet routes to 0.0.0.0; it doesn't really matter since the first matching rule (via wlan0) is used shadowing the other but it may bring confusion to the mind of the operator.
EDIT: actually I got confused; those are the "normal" net routes... but you should probably avoid net routes to unconnected interfaces. Remember that when there are multiple routes of same specificity, then the first in the list will be used.
it says beowulf but it is indeed chimaera
... well spotted, thanks.
Thanks. That's quite useful. Much of it valid! The script obviously is a "works-for-me" kind of script ![]()
The line 36 note is misconceived though as that line actually needs the globbing and word splitting; the other ones are good if not terribly important.
And line 29 should rather include a sed filtering to discard all but the lilne numbers; I'm not sure a while loop will work since bash runs those in sub processes(?); does a history command in the sub change the history list of the parent?
But in any case I'll leave those improvements as exercise.
EDIT: also, the grep at line 29 should rather be grep -nFx "$TABBED" "$HISTFILE" to match the input verbatim (i.e., to avoid that it gets interpreted as a pattern).
If you use xfc4-terminal for running different ssh in its tabs, then this little scriptlet might suit you.
I have it set up to run in a launcher on the panel, for starting an xfce-terminal that begins by asking for the ssh command line arguments before connecting like so; an empty argument line starts a local shell tab. Then the same happens on every C-S-T tab in that terminal. Quite handy.
File /home/ralph/bin/remote.xfce4
#!/bin/bash
#
# Start an xfce4-terminal that runs ssh in each new tab, prompting for
# ssh command arguments, or drops to an interactive shell for empty
# arguments. Typically invoked by a launcher or a command line as
# /whatever/the/path/remote.xfce4
# or with initial ssh arguments
# /whatever/the/path/remote.xfce4 <arguments...>
#
# The script defines and uses the environment variable TABBED
# which gets cleared for a local shell.
if [ -z "$TABBED" ] ; then
exec env TABBED="-" xfce4-terminal -e "$0 $1" || exit 1
fi
TABBED="$*"
if [ -z "$TABBED" ] ; then
HISTFILE="$HOME/.$(basename $0)"
history -r
# The following line defaults to reusing the last ssh argument line
TABBED="$(history -p "!!" )"
read -e -r -i "$TABBED" -p "ssh: " TABBED
if [ -z "$TABBED" ] ; then
printf "\033]0;%s\007" "$(hostname)"
[ -z "$SHELL" ] && SHELL=/bin/bash
exec $SHELL -i || exit 1
fi
# The following 3 lines remove any prior duplicate ssh argument lines
for N in $(grep -nFx "$TABBED" $HISTFILE | sed 's/:.*//' | sort -rn) ; do
history -d $N
done
history -s "$TABBED"
history -w
fi
printf "\033]0;%s\007" "${TABBED%% *}"
exec ssh $TABBEDNote that the history fiddling in the script, which makes the script look complicated, is not really required for the "tabbed ssh" functionality. It could be edited out, but it's there in order to make the ssh arguments input interaction "friendlier" by allowing for up/down arrow stepping through the history of such inputs.
Enjoy
EDIT: Note that the xfce4-terminal preferences also needs to be set up to run the script as custom command for tabs in order for the script (rather than shell) to be run for tabs.
EDIT 2: changed the code for bug fixing and to incorporate @Head_on_a_stick's touch up points (below). This might be a final verrsion ![]()
afaik you only need the openvpn package; the rest is just some GUI confusion overlay trying to make sure you don't know and understand what you are doing.
Then you need to generate a client key at the server end, and copy the client part to the client end.
And then you need the client configuration file to match up with the service. It's all well documented in man openvpn.