Näytä kirjoitukset

Tässä osiossa voit tarkastella kaikkia tämän jäsenen viestejä. Huomaa, että näet viestit vain niiltä alueilta, joihin sinulla on pääsy.


Viestit - samsunix

Sivuja: [1] 2 3 ... 11
1
Itse Itselleni vastaten:

DNS domain ja subdomain merkinnät tulevat tiedostoon /etc/bind/named.conf.local ja tiedostoon mikä on määritelty edellisessä. Esim: /etc/bind/db.samuliweb.net

named.conf.local
Koodia: [Valitse]
//
// Do any local configuration here
//

// Consider adding the 1918 zones here, if they are not used in your
// organization
//include "/etc/bind/zones.rfc1918";
zone "samuliweb.net" {
    type master;
    file "/etc/bind/db.samuliweb.net";
    allow-transfer { 192.168.0.5; };
};

zone "owncloud.samuliweb.net" {
    type master;
    file "/etc/bind/db.samuliweb.net";
    allow-transfer { 192.168.0.5; };
};

zone "forum.samuliweb.net" {
    type master;
    file "/etc/bind/db.samuliweb.net";
    allow-transfer { 192.168.0.5; };
};


zone "0.168.192.in-addr.arpa" {
    type master;
    file "/etc/bind/db.192";
    allow-transfer { 8.8.8.8; };
};

/etc/bind/db.samuliweb.net
Koodia: [Valitse]
;
; BIND data file for samuliweb.net
;
$TTL    604800
@       IN      SOA     samuliweb.net. pi.samuliweb.net. (
                              2         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
@       IN      NS      ns.samuliweb.net.
@       IN      A       192.168.0.5
@       IN      AAAA    ::1
ns      IN      A       192.168.0.5


owncloud.samuliweb.net.      IN      NS      ns.samuliweb.net.
forum.samuliweb.net.       IN      NS      ns.samuliweb.net.



2
DNS palvelin conffittu näillä: https://ubuntu.com/server/docs/service-domain-name-service-dns

Lainaus
Tällä ei ole vaikutusta
'palvelimen' hosts tiedostoon lisätty:
Koodia: [Valitse]
192.168.0.5 owncloud.samuliweb.net
192.168.0.5 forum.samuliweb.net
192.168.0.5 samuliweb.net

/etc/bind/named.conf.options

/etc/bind/db.samuliweb.net

/etc/bind/named.conf.local

/etc/bind/db.192

ja näin "paperilla" ainakin näyttäisi että kaiken pitäisi olla ihan "ok" mutta ainut domain mikä löytyy on tuo 'perus' domain: samuliweb.net. Mikähän avuksi?

Koodia: [Valitse]
pi@russy:~$ named-checkzone samuliweb.net /etc/bind/db.samuliweb.net
zone samuliweb.net/IN: loaded serial 2
OK
pi@russy:~$ named-checkzone 0.168.192.in-addr.arpa /etc/bind/db.192
zone 0.168.192.in-addr.arpa/IN: loaded serial 2
OK
pi@russy:~$  dig owncloud.samuliweb.net

; <<>> DiG 9.18.1-1ubuntu1.1-Ubuntu <<>> owncloud.samuliweb.net
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 16200
;; flags: qr aa rd ra ad; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;owncloud.samuliweb.net.                IN      A

;; ANSWER SECTION:
owncloud.samuliweb.net. 0       IN      A       192.168.0.5

;; Query time: 3 msec
;; SERVER: 127.0.0.53#53(127.0.0.53) (UDP)
;; WHEN: Sun Aug 07 13:57:16 CEST 2022
;; MSG SIZE  rcvd: 67

Lainaus
Tällä ei ole vaikutusta
mainittakoon vielä että rivi:
Koodia: [Valitse]
ReadEtcHosts=yesuncommentoitu tiedostossa: sudo nano /etc/systemd/resolved.conf


3
Yritän ottaa käyttöön bluetooth kaijutinta JBL clip2 jossa on myös mikrofoni. Idea on asentaa google avustaja raspberryyn.
Aikani väännettyä pulseaudion kanssa hyppäsin Pipewire sekä wireplumberiin ja samalla ubuntuun toiveena että homma toimisi out of box. Ei toimi.

Ongelmana nyt näin aluksi on kun yritän yhdistää bluetoothilla, paritus onnistuu mutta tarvittavaa profiilia ei löydy:

Lainaus
[bluetooth]#  connect 04:FE:A1:AD:30:89
Attempting to connect to 04:FE:A1:AD:30:89
Failed to connect: org.bluez.Error.Failed br-connection-profile-unavailable

Olen ihan freesi pipewiren ja plumberin kanssa. Ei desktoppia + muuta

4
Ai selaimen osoiterivi?

Ei täällä ainakaan vaihdu.

 :o say whaat?
Foorumi aukee ja osoiterivillä on edelleen domain nimi?

5
Moi

Ongelmana tämmönen pieni weppi sivu projekti http://www.ets2kb.co
Domain ohjaa oikeaan osoitteeseen, mutta osoiterivillä nimi vaihtuu ikävästi IP osoitteseen.

Perus LAMP asennettu eikä mitään muuta (poislukien dnsmasq mikä on disabloitunua toistaiseksi)

kaikki pitäisi olla 'manuaalin mukaan' :

000-conf disabloitu ja tilalla

/etc/apache2/sites-available/ets2kb.co.conf
Koodia: [Valitse]
<VirtualHost *:80>

ServerName ets2kb.co
ServerAlias www.ets2kb.co
DocumentRoot /var/www/html/forum


        <Directory /var/www/html/forum>
            Options FollowSymLinks
            AllowOverride All
            Require all granted
        </Directory>


ErrorLog ${APACHE_LOG_DIR}/ets2kb.co_error.log
CustomLog ${APACHE_LOG_DIR}/ets2kb.co_access.log combined
</VirtualHost>


hosts:
Koodia: [Valitse]
127.0.0.1       localhost
::1             localhost ip6-localhost ip6-loopback
ff02::1         ip6-allnodes
ff02::2         ip6-allrouters
192.168.0.2     localhost ets2kb.co www.ets2kb.co
127.0.1.1       ets2kb.co www.ets2kb.co

dig printti:
Koodia: [Valitse]
pi@ets2kb:~ $ dig ets2kb.co

; <<>> DiG 9.11.5-P4-5.1+deb10u2-Raspbian <<>> ets2kb.co
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 35088
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;ets2kb.co.                     IN      A

;; ANSWER SECTION:
ets2kb.co.              0       IN      A       192.168.0.2

;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Fri Jan 08 16:16:47 GMT 2021
;; MSG SIZE  rcvd: 54

Ideoita?

6


"etä-työpöytä yhteys toimii vain jos käyttäjä ei ole kirjautunut paikallisesti"
Paikallinen kirjautuminen blokkaa etähallinta softan.


Lainaus
Oikeastiko tuolla saat yhteyden windowsiin, ja tarvitseeko sinne windows-koneelle jotain lisäasennuksia?
Idea on että, saat yhteyden Ubuntu koneeseen Windows RDP:llä mistä tahansa windozen omilla työkaluilla.


7
En löytänyt toimivaa ohjetta suomeksi tai lontoon murteella joten tässä tämä:

Asennetaan riippuvat paketit:
Koodia: [Valitse]
sudo apt install xorg-video-abi-23 xserver-xorg-coreAsennetaan xRDO ja xorgxrdp -paketit
Koodia: [Valitse]
sudo apt install xorgxrdp xrdp -yOtetaan xrdp käyttöön
Koodia: [Valitse]
sudo systemctl enable xrdptehdään xsession conffi
Koodia: [Valitse]
echo "gnome-session" > ~/.xsessionKorjataan pieni käyttäjäoikeus -bugi
Koodia: [Valitse]
sudo nano /etc/polkit-1/localauthority.conf.d/02-allow-colord.conf
Lainaus
polkit.addRule(function(action, subject) {
 if ((action.id == "org.freedesktop.color-manager.create-device" ||
 action.id == "org.freedesktop.color-manager.create-profile" ||
 action.id == "org.freedesktop.color-manager.delete-device" ||
 action.id == "org.freedesktop.color-manager.delete-profile" ||
 action.id == "org.freedesktop.color-manager.modify-device" ||
 action.id == "org.freedesktop.color-manager.modify-profile") &&
 subject.isInGroup("{users}")) {
 return polkit.Result.YES;
 }
});

Reboot, done and done.

Pari Huomiota:

  • gnomella rdp on hidas ja laginen, mutta toimii, suosittelen xfce4:tä
  • etä-työpöytä yhteys toimii vain jos käyttäjä ei ole kirjautunut paikallisesti

edit: otsikko muutettu selvemmäksi

8
Lainaus
Käänteinen SSH-tunneli tarkoittaisi, että palvelin luo ja ylläpitää SSH-yhteyksiä asiakaskoneisiin, joilla täytyy siis olla julkinen IP-osoite ja SSH-portti auki. SSH:n kautta sitten kytketään asiakaskoneen tietyt portit palvelimen portteihin.

Tuo onkin sitten hankalempi toteuttaa suureman porukan kanssa, osa kun ei osaa aukaista portin porttia saatika tiedä miten siihen omaan boksiin pääsee kiinni...

Lainaus
Lienee kuitenkin helpompaa järjestää julkinen IP palvelinpuolelle, ja konfiguroida NAT-purkin palomuuriin ohjaus haluttuihin palvelimen portteihin?

jos tuo olisi vaihtoehto, en olisi täällä :) Kyseisellä palveluntarjoajalla on 2.5 - 5 miljuunaa asiakasta vain tällä alueelle, eikä julkisia ip osoitteita nuon vaan ripotella ellei ole yritys asiakas...

Lainaus
Jos palvelut halutaan pitää suojassa ja salasanojen takana, siisti vaihtoehto on esimerkiksi palvelujen eteen sijoitettu reverse proxy (Nginx, Apache, ...), joka terminoi asiakkaan HTTPS-yhteyden ja autentikoi käyttäjän vaikkapa HTTP Basic Authenticationilla.

...Tuo olisi ihan näppärä, mutta ei taida tämä idea edetä tuolle tasolle. Kiitos vastauksista.

9
Moi

Toivottavasti joku osaa ja jaksaa vastata...

Tarve luoda low budjetti yhteys palvelimen ja käyttäjien välille:


portit: 80, random portti1, random portti2, jne...

SERVER - LAN - ISP & NAT - WAN - DYNDNS (Tai vastaava) - ISP - LAN & NAT - CLIENT


Ymmärtääkseni tässä voisi käyttää käänteistä SSH tunnelointia, HTTPS?

10
Moro

Ite lopetin dropboxin käytön tykkänään viimevuoden puolella ja siiryin google driven käyttäjäksi, kansio synkronointi onnistuu semi kätevästi näillä:

työpöydällä:
https://www.howtogeek.com/196635/an-official-google-drive-for-linux-is-here-sort-of-maybe-this-is-all-well-ever-get/

komentorivillä:
https://github.com/prasmussen/gdrive

11
Moro,

Asentelin tuossa pitkästäaikaa ubuntua tolle vanhalle 901:lle mikä vieläkin mukana pyörii. Lähinnä videovalvontaa hoitaa sisätiloissa ja takapihalla. Eli ei graafista työpöytää kun ei tuo romu oikein tahdo muutenkaan jaksaa.

Kaikki toimii muuten hienosti mutta, vähän harmittaa tuo Internet yhteyden puuttuminen wifi -yhteydessä. (helpottaisi elämää kun kone voisi upata tiedostot suoraan Onedriveen yms...)

Conffit näyttää tältä:

/etc/netplan/01-netcfg.yaml
Koodia: [Valitse]
# This file describes the network interfaces available on your system
# For more information, see netplan(5).
network:
  version: 2
  renderer: networkd
  wifis:
    wlp1s0:
      dhcp4: no
      dhcp6: no
      addresses: [192.168.0.220/24]
      gateway4: 192.168.0.1
      nameservers:
        addresses: [8.8.8.8, 8.8.4.4]
      access-points:
        UPC9D31E57:
          password: salainensalasana
Koodia: [Valitse]
samsunix@tricknix:~$ ifconfig
lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 28  bytes 2716 (2.7 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 28  bytes 2716 (2.7 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

wlp1s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.0.220  netmask 255.255.255.0  broadcast 192.168.0.255
        inet6 2a02:a311:8142:b100:222:43ff:fe24:c51  prefixlen 64  scopeid 0x0<global>
        inet6 fe80::222:43ff:fe24:c51  prefixlen 64  scopeid 0x20<link>
        ether 00:22:43:24:0c:51  txqueuelen 1000  (Ethernet)
        RX packets 869  bytes 80144 (80.1 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 978  bytes 151713 (151.7 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
En tiedä onko resolv.conffi enää mukana kuvioissa mutta sisältö on tämä:
Koodia: [Valitse]
samsunix@tricknix:~$ cat /etc/resolv.conf
# This file is managed by man:systemd-resolved(8). Do not edit.
#
# This is a dynamic resolv.conf file for connecting local clients to the
# internal DNS stub resolver of systemd-resolved. This file lists all
# configured search domains.
#
# Run "systemd-resolve --status" to see details about the uplink DNS servers
# currently in use.
#
# Third party programs must not access this file directly, but only through the
# symlink at /etc/resolv.conf. To manage man:resolv.conf(5) in a different way,
# replace this symlink by a static file or a different symlink.
#
# See man:systemd-resolved.service(8) for details about the supported modes of
# operation for /etc/resolv.conf.

nameserver 127.0.0.53

Kaikki vinkit tervetulleita

- Samuli

12
Joo - ei.. olin ihan "kujalla" ton koodin kanssa. Tuo alempi koodin pätkä syötetään google scripts saitille josta sitä voi ajaa mutta on vähän kesken vielä(kin). Voin postaa ratkaisun jahka-jos sen saan selvitettyä.

13
Tällainen koodi työn alla:

Tarkoitus on siis muuttaa xlms tiedosto google drivessä CSV muotoon ja sen jälkeen hakea se takaisin omalle koneelle.
(tiedoston siirtämiseen google driveen voi käyttää esim gdriveä:
./gdrive upload tiedosto.xml
tai tiettyyn kansioon: gdrive upload --parent root tiedosto.xlm

Koodia: [Valitse]
#! /bin/bash

# gdrive-oauth v1.1 (build 20170321)
# A Bash helper script for Drive API authentication
#
# I use this to run scripts to perform automated tasks on my Google Drive
# Reporting of bugs/issues or General inquiries are encouraged
# If you found this helpful, let me know :-)
#
#  by Andy Forceno <andy@aurorabox.tech>
#
# Distributed under the MIT license:
# https://opensource.org/licenses/MIT

# To obtain client_id & secret:
# 1) Create a project at: https://console.developers.google.com
# 2) Go to APIs & Auth > API section (in the menu on the left side of the page)
# 3) Enable Drive API (you can search for it there)
# 4) Go to APIs & Auth > Credentials
# 5) Select "Add Credentials" from the drop down box, then choose OAuth 2.0 client ID
# 6) Follow prompts and you will be presented with client_id and secret
# 7) (Optional) You can also create an API key there, some API calls require it

client_id="123abc"
secret="123abc"

## Google Drive OAuth2 authentication
oauth () {
# Google recommends using the feeds scope only as a last-ditch effort if other scopes fail
# I can't get less permissive scopes to work, so this will have to do
scope=${SCOPE:-"https://docs.google.com/feeds"}

# Initial request to get user code & verification URL needed for user to verify authentication
oauth_verify=$(curl -s https://accounts.google.com/o/oauth2/device/code -d "client_id=$client_id&scope=$scope" -H "Accept: application/x-www-form-urlencoded")
device_code=$(echo $oauth_verify | grep -oP 'device_code"\s*:\s*"\K(.*)"'| cut -f1 -d',' | tr -d '"')
user_code=$(echo $oauth_verify |  grep -oP 'user_code"\s*:\s*"\K(.*)"' | cut -f1 -d',' | tr -d '"')
auth_url=$(echo $oauth_verify | grep -oP 'verification_url"\s*:\s*"\K(.*)"' | cut -f1 -d',' | tr -d '"')

echo -e "\nYou must authorize this app with Google Drive. Enter the following code in your browser to verify this app:
$user_code\n"
echo  "Press any key to open the authorization URL in your browser"
reap -p "Once you authorize this app with Google Drive, you may close your browser window\n"

xdg-open "$auth_url"
# INFO: If you use Google Chrome, replace with:
google-chrome %U "$auth_url"
read -p "Press any key to continue..."

# Second step in OAuth using the device_code previously obtained. This will get access_token and refresh_token
oauth_tokens=$(curl -s https://www.googleapis.com/oauth2/v3/token -d "client_id=$client_id&client_secret=$secret&code=$device_code&grant_type=http://oauth.net/grant_type/device/1.0")
access_token=$(echo $oauth_tokens | grep -oP 'access_token"\s*:\s*"\K(.*)"' | cut -f1 -d',' | tr -d '"')
refresh_token=$(echo $oauth_tokens | grep -oP 'refresh_token"\s*:\s*"\K(.*)"' | cut -f1 -d',' | tr -d '"')

# access_token and refresh_token are written to .gdriverc
touch ~/.gdriverc
echo "access_token=$access_token" >> ~/.gdriverc
echo "refresh_token=$refresh_token" >> ~/.gdriverc
echo -e "\nAccess & refresh token have been saved to /.gdriverc\n"
exit 0
}

## Check for expired or invalid tokens
validate_token () {
# Will automagically refresh access_token using refresh_token
files_uri="https://www.googleapis.com/drive/v2/files"

# File to be searched for, used by validate_token()
# Doesn't really matter what this is set to, it's just used to determine if access_token expired
# Must be encoded, see: https://developers.google.com/drive/web/search-parameters
# Or use the API explorer to generate the encoded query string for you,
# Found at the bottom of this page: https://developers.google.com/drive/v2/reference/files/list
file="'Document+(1)'"

# Request to obtain confirmation of either valid or invalid access_token
# This just searches for $file using the file.list object
# This could be just about any Drive API call
file_list=$(curl -s -H "Authorization: Bearer $access_token" $files_uri?corpus=DEFAULT&maxResults=3&orderBy=createdDate&q=title+%3D+$file&spaces=drive)

if [[ -n $(echo $file_list | grep -io "invalid") ]]; then
echo -e "Expired access token. Re-authenticating..."
# Obtain the new refresh_token and access_token
get_refresh=$(curl -s https://www.googleapis.com/oauth2/v3/token -d "client_id=$client_id&client_secret=$secret&refresh_token=$refresh_token&grant_type=refresh_token")
access_token=$(echo $get_refresh | grep -oP 'access_token"\s*:\s*"\K(.*)"' | cut -f1 -d',' | tr -d '"')
# Write access_token to .gdriverc
sed -i "s/access_token=.*/access_token=$access_token/g" ~/.gdriverc
echo -e "Access token refreshed!"
fi
}

## Your function goes here
function convertXLSFilesToCSV() {

    var oauthToken = ScriptApp.getOAuthToken(),
        sourceFolder = DriveApp.getFolderById(root),
        targetFolder = DriveApp.getFolderById(root),
        mimes = [MimeType.MICROSOFT_EXCEL, MimeType.MICROSOFT_EXCEL_LEGACY];

#    /* Written by Amit Agarwal */
#    /* email: amit@labnol.org  */
#    /* website: www.ctrlq.org */

    for (var m = 0; m < mimes.length; m++) {

        files = sourceFolder.getFilesByType(mimes[m]);
        while (files.hasNext()) {

            var sourceFile = files.next();

            // Re-upload the XLS file after convert in Google Sheet format
            var googleSheet = JSON.parse(UrlFetchApp.fetch(
                "https://www.googleapis.com/upload/drive/v2/files?uploadType=media&convert=true", {
                    method: "POST",
                    contentType: "application/vnd.ms-excel",
                    payload: sourceFile.getBlob().getBytes(),
                    headers: {
                        "Authorization": "Bearer " + oauthToken
                    }
                }
            ).getContentText());

            // The exportLinks object has a link to the converted CSV file
            var targetFile = UrlFetchApp.fetch(
                googleSheet.exportLinks["text/csv"], {
                    method: "GET",
                    headers: {
                        "Authorization": "Bearer " + oauthToken
                    }
                });

            // Save the CSV file in the destination folder
            targetFolder.createFile(targetFile.getBlob()).setName(sourceFile.getName() + ".csv");

            // Delete the processed file
            sourceFile.setTrashed(true);

        }
    }

}

# Validation should be performed after authentication but prior to any other API calls
validate_token

 # Other stuff goes here...
 # Take a look at the Drive API docs to see what you can do:
 # https://developers.google.com/drive/web/about-sdk
}

# Generate .gdriverc if it is missing
if [[ ! -f ~/.gdriverc ]];
then
touch ~/.gdriverc
fi
source ~/.gdriverc

# Loop that initializes authentication the first time
# Initializes other user-defined functions subsequently
while true
do
if [[ -z "$access_token" ]]; then
oauth
else
# A_Function convert all files and move them to another folder
# B_Function Download converted files
#
#$headers = @{"Authorization" = "Bearer $access_token"
#
#
#              "Content-type" = "application/json"}
#
#$DocumentID = "vEf7uHjfb35Y94L-aH1fMk3JgYqa0h95" #Your desired document ID, found by clicking "Get Share Link" from the  Drive UI
#
#$File = Invoke-RestMethod -Uri "https://www.googleapis.com/drive/v3/files/$DocumentID/export?mimeType=text/csv" -Method Get -Headers $headers
# C_function Delete all files from google drive just to be sure
#   ...
fi
done

Tulostaa:

Koodia: [Valitse]
./magic.sh: line 93: syntax error near unexpected token `('
./magic.sh: line 93: `    var oauthToken = ScriptApp.getOAuthToken(),'

Jossain pikku viba mitä en nyt näe /ymmärrä.  :(
Kaikki apu tervetullutta :)

14
Idea:

Minkä tahansa ulkoisen median (USB) kytkettyä -> suorittaa scriptin joka hakee laitteelta mediatiedostot, lajittelee ja tekee niistä systemlinkit valmiisiin kansioihin (/home/user/ -musiikki, -sarjat, -elokuvat)

Musiikin hakuun löysin tämän scriptin:

Koodia: [Valitse]
#!/bin/bash
formats=(flac ogg mp3)
src=<source directory>
trg=<target directory>
(for f in ${formats[@]}; do
find $src -type f -name \*.$f | xargs -I% -n1 echo "% %"
done) | sed -r "s,$src/\w*,$trg,;s,\.(flac|ogg|mp3),," | sort -k 1,1 -u | \
xargs -l1 sh -c 'mkdir -p "$(dirname "$1")"; ln -s "$2" "$1.${2##*.}"' -

Videotiedostojen lajittelu onkin sitten vähän monimutkaisempi juttu...
Jaksojen ja elokuvien jakaminen voisi onnistua parillakin tapaa:

Pituus:

Elokuvat: Elokuvien pituus vaihtelee 110min - 140min

Sarjat: Yhden jakson pituus sarjoissa on yleensä 20 - 40min (Mutta esim game of thrones ~ 1h 11min)

Määrä / kansio:

Perus leffa kansiossa: 1 + 1 (sample / traileri) = max 2 videotiedostoa / kansio.

Sarjat. 7 videotiedostoa tai enemmän.

Tiedän, että on olemassa ohjelmia joilla manageroida mediatiedostoja, mutta tarvisin scriptin "htpc":lle jota hallinoin kännykkä apin (yatse) avulla joten kaiken olisi hyvä olla automatisoitu.

15
Ongelma:  bluez ja pulse eivät voi käyttää samaa äänilaitetta samaan aikaan

Ratkaisu: Hankkiudutaan eroon pulsesta ja käytetään alsaa.

--> äänet ainakin youtubessa 'head set' moodilla


Uusi ongelma -> kaikki ohjelmat ei tunnista bluetooth laitetta 'out of box'.

Ratkaisu: conffitaan alsa kuntoon:

Koodia: [Valitse]
cd ~
nano .asoundrc

Koodia: [Valitse]
pcm.!default {
  type asym
  capture.pcm "mic"
  playback.pcm "speaker"
}
pcm.mic {
  type plug
  slave {
               type bluealsa
               device "04:FE:A1:AD:30:89"
               profile "sco"
  }
}
pcm.speaker {
  type plug
  slave {
               type bluealsa
               device "04:FE:A1:AD:30:89"
               profile "a2db"
  }
}
*vaatii vielä pientä fiilausta....

Koodia: [Valitse]
(env) pi@raspberrypi:~/voice-recognizer-raspi $ python3 src/main.py
ALSA lib bluealsa-pcm.c:659:(_snd_pcm_bluealsa_open) Couldn't get BlueALSA transport: No such device
[1108:1123:ERROR:audio_input_processor.cc(755)] Input error
/home/pi/voice-recognizer-raspi/src/aiy/_drivers/_led.py:51: RuntimeWarning: This channel is already in use, continuing anyway.  Use GPIO.setwarnings(False) to disable warnings.
  GPIO.setup(channel, GPIO.OUT)
Say "OK, Google" then speak, or press Ctrl+C to quit...
[1108:1126:ERROR:audio_input_processor.cc(755)] Input error
Segmentation fault

16


Loistavaa! :)

Joo hyvin toistaa mutta, mikrofoni vielä puuttuu. Palailen taas jahka / jos löydän ratkaisun.

Asensin pulseaudio ja pulseaudio bluetooth modulin

Koodia: [Valitse]
sudo apt-get install pulseaudio-module-bluetooth
Kaikki näyttää äkkiseltään hyvältä...

Koodia: [Valitse]
pi@raspberrypi:~ $ pactl info
Server String: /run/user/1000/pulse/native
Library Protocol Version: 32
Server Protocol Version: 32
Is Local: yes
Client Index: 11
Tile Size: 65496
User Name: pi
Host Name: raspberrypi
Server Name: pulseaudio
Server Version: 10.0
Default Sample Specification: s16le 2ch 44100Hz
Default Channel Map: front-left,front-right
Default Sink: bluez_sink.04_FE_A1_AD_30_89.headset_head_unit
Default Source: bluez_source.04_FE_A1_AD_30_89.headset_head_unit
Cookie: 659b:deed
pi@raspberrypi:~ $ journalctl | grep pulse
Dec 07 18:43:43 raspberrypi polkitd(authority=local)[721]: Operator of unix-process:1201:17708 successfully authenticated as unix-user:pi to gain ONE-SHOT authorization for action org.freedesktop.systemd1.manage-units for system-bus-name::1.31 [systemctl restart pulseaudio.service] (owned by unix-user:pi)
Dec 07 18:43:54 raspberrypi polkitd(authority=local)[721]: Operator of unix-process:1213:18690 FAILED to authenticate to gain authorization for action org.freedesktop.systemd1.manage-units for system-bus-name::1.34 [systemctl restart pulseaudio.service] (owned by unix-user:pi)
Dec 07 18:44:05 raspberrypi sudo[1222]:       pi : TTY=pts/0 ; PWD=/home/pi ; USER=root ; COMMAND=/bin/systemctl restart pulseaudio.service
Dec 07 18:47:32 raspberrypi sudo[1235]:       pi : TTY=pts/0 ; PWD=/home/pi ; USER=root ; COMMAND=/bin/systemctl restart pulseaudio.service
pi@raspberrypi:~ $ pulseaudio -v
I: [pulseaudio] main.c: setrlimit(RLIMIT_NICE, (31, 31)) failed: Operation not permitted
I: [pulseaudio] core-util.c: Failed to acquire high-priority scheduling: Permission denied
I: [pulseaudio] main.c: This is PulseAudio 10.0
I: [pulseaudio] main.c: Page size is 4096 bytes
I: [pulseaudio] main.c: Machine ID is 9ca28a33ad294d5bb80538b400597034.
I: [pulseaudio] main.c: Session ID is c3.
I: [pulseaudio] main.c: Using runtime directory /run/user/1000/pulse.
I: [pulseaudio] main.c: Using state directory /home/pi/.config/pulse.
I: [pulseaudio] main.c: Using modules directory /usr/lib/pulse-10.0/modules.
I: [pulseaudio] main.c: Running in system mode: no
E: [pulseaudio] pid.c: Daemon already running.
E: [pulseaudio] main.c: pa_pid_file_create() failed.
pi@raspberrypi:~ $

Mutta kappas kun kajari meni mykäksi eikä toi mikrofonin testauskaan kyllä silloin oikein onnistu...
Jotain häikkää tuossa pulseaudiossa ilmeisesti... yritän kaivella

17
Pikkasen venähti vastaus.

Tuo rivi löytyy kyllä, eikä ole kommentoituna  :'(

18
Kiitos Raimo.

Testaan tuota jahka pääsen töistä.

19
Raspberry pi 3:sen (wifi/)bt -piiri ei tue äänen kaksisuuntaista -moodia: BT-Dongle ja bluemanin asennus riittää äänen tallentamiseen ja toistamiseen bt spiikkerillä.
Google assistant on huonosti koodattu. Ongelmia silti odotettavissa vaikka donglen hankkiikin. 



Pahoittelut että, haen apuja toiselle distrolle, mutta koska molemmat jakelut perustuvat samaan debian distroon toivon löytäväni apua täältä (Ubuntu yhteisö on parasta).

Väsäilen MagicMirror -projektin parissa ja ajattelin hommata peilin kylkeen siirrettävän ääni ja mikrofoni lähteen.

Laite on siis JBL Clip2. Paritukset yms hoituu hienosti ja automaattisesti bootin yhteydessä.

Kun ääntä ei pidäkkään kuulla näyttää laitteet tältä:

Koodia: [Valitse]
pi@raspberrypi:~ $ pactl list sources short
0 alsa_output.platform-soc_audio.analog-stereo.monitor module-alsa-card.c s16le 2ch 44100Hz SUSPENDED
1 bluez_sink.04_FE_A1_AD_30_89.headset_head_unit.monitor module-bluez5-device.c s16le 1ch 8000Hz IDLE
2 bluez_source.04_FE_A1_AD_30_89.headset_head_unit module-bluez5-device.c s16le 1ch 8000Hz IDLE

Hoksasin tässävaiheessa että, tuo analoginen oli kans päällä ja disabloin sen. Youtube "pyörimään" ja sama setti uusiksi:

Koodia: [Valitse]
pi@raspberrypi:~ $ pactl list sources short
1 bluez_sink.04_FE_A1_AD_30_89.headset_head_unit.monitor module-bluez5-device.c s16le 1ch 8000Hz RUNNING
2 bluez_source.04_FE_A1_AD_30_89.headset_head_unit module-bluez5-device.c s16le 1ch 8000Hz RUNNING

Youtube video jäätyy heti alkuunsa. jos disabloin bluetoothin, video pyörii kyllä, mutta ääntä ei kuulu kummassakaan tapauksessa.

Onko kellään ollut vastaavaa ongelmaa?


Kiitos avusta jo etukäteen ja anteeksi

Ainakin äänen sain ulos näillä komennoilla:

Koodia: [Valitse]
sudo apt --purge remove pi-bluetooth blueman pulseaudio pavucontrol pulseaudio-module-bluetooth
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install pi-bluetooth

Parittelut yms toimii suoraan out of box, ei ongelmia. Toimiiko mikki - jää nähtäväksi

20
Lainaus
Welcome to PurpleDrake!

Please ensure your phone is connected, powered on, and USB debugging is properly enabled.
Your phone should be showing your homescreen with no other apps open. This is to ensure a clean state.
When you're ready, press [enter]...

Press [enter] to continue...
Waiting for device... ...... Found device!


Your phone is a [ LG-D855 ] on [ P4P ] running SW version [ V20h ] ...


Alright. We're ready to go. We're going to temproot your phone first. Press enter when you're ready!
Press [enter] to continue...

Rebooting phone...
Waiting for device... ...... Found device!
Found device, checking if vulnerable...

ERROR: Your phone is not running a compatible software version. No vulnerable mode detected, rebooting phone.
We tried to temproot you, and it didn't work. This phone isn't vulnerable, it would appear.
Please post on XDA with your phone model, carrier, and SW version in the PurpleDrake thread and someone will take a look.                     
Your phone has been rebooted back to normal system mode, no changes have been made. Thanks for trying!                                         
901 PurpleDrake-Lite #                                             

Kiitos vastauksesta

olen onnistunu saamaan varmaan jonkin harakiriversion.

Sivuja: [1] 2 3 ... 11