מאמר זה עוסק בפתרון תקלות של חיבורי Splashtop מרחוק למכשירי לינוקס בלבד. לפתרון תקלות ב-Windows, ראו פתרון תקלות חיבור Splashtop מרחוק לסוכני Windows. ל-Mac, ראו פתרון תקלות חיבור Splashtop מרחוק לסוכני Mac. לדרישות מקדימות כלליות (חומת אש, פורטים, רשימות לבנות), ראו הגדרות חומת אש לאינטגרציות של Atera.
חשוב: מגבלות גישה מרחוק בלינוקס
לפני שמתחילים בפתרון תקלות, חשוב להכיר את המגבלות הייחודיות ללינוקס:
- חיבורים מרחוק ב-Splashtop על לינוקס לא נתמכים במכשירים ללא מסך (headless – מכשירים ללא ממשק גרפי). חייב להיות מחובר מסך פיזי או מוגדר תצוגה וירטואלית.
- לא ניתן להתחיל חיבור מרחוק ממכשיר לינוקס לכל מכשיר אחר (Windows, Mac או Linux). אין מתקין Splashtop for RMM ללינוקס. הגישה מרחוק ב-Splashtop נתמכת רק כאשר מתחברים ממכשיר Windows או Mac אל מכשיר לינוקס.
- Wayland אינו נתמך. מכשיר הלינוקס חייב להריץ סביבת עבודה מבוססת X11. אם המכשיר משתמש ב-Wayland (למשל, Ubuntu עם KDE על Wayland), ייתכן ש-Atera תזהה את המערכת כ-headless ותשבית את כפתור ההתחברות. עברו למפגש X11 כדי לפתור זאת.
- Splashtop תומך ב-Raspberry Pi 2 ומעלה. להוראות התקנה ייעודיות ל-Raspberry Pi, עיינו בתיעוד Splashtop Linux Streamer.
דרישות מקדימות
ודאו שכל הדרישות הבאות מתקיימות לפני תחילת פתרון התקלות:
הפצות נתמכות
גישה מרחוק לא תעבוד על הפצות שאינן נתמכות. המכשיר שלכם חייב להריץ אחת מההפצות הבאות:
- Debian 11 ומעלה
- Ubuntu 18 ומעלה
- CentOS Stream
- Red Hat 8 ומעלה
דרישות רשת
- הגדרות חומת אש לאינטגרציות של Atera — ודאו שכל שרתי Splashtop הנדרשים נמצאים ברשימת ההיתרים (whitelist). כל התעבורה של Splashtop היא יוצאת בלבד — אין צורך לפתוח פורטים נכנסים.
- יש להוסיף לרשימת ההיתרים את הדומיינים הבאים:
-
*.splashtop.com(אזור גלובלי) -
*.splashtop.eu(אזור אירופה — חובה אם חשבון ה-Atera שלכם נמצא בשרתים האירופיים)
-
- יש לפתוח את הפורטים היוצאים הבאים:
- פורט 443 (TCP) — חיבור עיקרי לכל תעבורת Splashtop
- פורט 80 (TCP) — נדרש לעדכונים אוטומטיים של Splashtop Streamer דרך CloudFront
- פורט 6783 (TCP) — משמש לחיבורים מקומיים באותה רשת
- פורט 3479 (UDP) — משמש לחיבורים מהירים (QUIC) מקצה לקצה
- אם הרשת שלכם משתמשת ב-DPI (בדיקת מנות עמוקה) או בדיקת SSL/TLS, הוסיפו את
*.splashtop.comו-*.splashtop.euלרשימת החרגות הבדיקה. Splashtop תומך כרגע רק בתעודות TLS מבוססות RSA.
דרישות סביבת עבודה גרפית (בעיקר ל-VMs)
Splashtop דורש סביבת עבודה גרפית כדי לפעול. עבור מכונות וירטואליות (VM) או שרתים ללא מסך פיזי שברצונכם לאפשר אליהם גישה מרחוק, ודאו שהרכיבים הבאים מותקנים ומוגדרים:
- סביבת עבודה GNOME (או סביבת עבודה אחרת מבוססת X11)
- LightDM כמנהל התצוגה (נדרש עבור תצוגה וירטואלית של Splashtop)
- Xrdp לחיבורים מרחוק לשולחן העבודה
- תצוגה וירטואלית מוגדרת אם אין מסך פיזי
- PulseAudio לתמיכה בשמע, מוגדר למצב מערכת
- DBus פועל לתקשורת בין תהליכים
להוראות התקנה מפורטות עבור מכונות לינוקס וירטואליות, ראו Splashtop ללינוקס.
תיקון גישה מרחוק ב-Splashtop על לינוקס
אם אתם נתקלים בבעיות חיבור למכשיר לינוקס דרך Splashtop, בצעו את השלבים הבאים:
1. הריצו בדיקת קישוריות של Splashtop: פתחו את www.splashtop.com/check על המכשיר הבעייתי לאבחון ראשוני מהיר.
2. ודאו שסביבת העבודה היא X11: הריצו את הפקודה הבאה בטרמינל:
echo $XDG_SESSION_TYPE
אם הפלט הוא wayland, עליכם לעבור למפגש X11. Splashtop לא תומך ב-Wayland. התנתקו, בחרו מפגש X11/Xorg במסך הכניסה, והתחברו מחדש.
3. בדקו את מנהל התצוגה: Splashtop דורש את LightDM. בדקו איזה מנהל תצוגה פעיל:
cat /etc/X11/default-display-manager
אם לא מופיע /usr/sbin/lightdm, התקינו והגדירו את LightDM:
sudo apt install lightdm sudo dpkg-reconfigure lightdm
4. ודאו ששירות Splashtop Streamer פועל:
sudo systemctl status splashtop-streamer
אם השירות לא פועל או שיש שגיאות, אתחלו אותו:
sudo systemctl restart splashtop-streamer
אם השירות לא מצליח לעלות, ייתכן שההתקנה של ה-Streamer לא תקינה. ראו Splashtop ללינוקס להוראות התקנה.
5. הריצו את סקריפט הבדיקה והאבחון של Splashtop: הריצו את הסקריפט למטה כדי לבדוק קישוריות לכל שרתי Splashtop, לבדוק את פורט 80, ולאתר בדיקת SSL.
סקריפט תיקון תקלות Splashtop ללינוקס (.sh)
הסקריפט מבצע את הפעולות הבאות:
- בודק קישוריות לכל שרתי Splashtop הנדרשים — גם לאזור הגלובלי וגם לאזור האירופי.
- בודק את פורט 80 — מוודא שניתן להוריד עדכונים אוטומטיים.
- מאתר בדיקת SSL/TLS — בודק אם תעודת ה-TLS תקינה ומשתמשת ב-RSA.
- בודק את הסביבה — מוודא סוג מפגש (X11 או Wayland), מנהל תצוגה, ומצב שירות Splashtop Streamer.
- מבצע תחזוקה — מנקה חבילות סוכן Splashtop שמורות ומאתחל את שירות ה-Streamer.
העלו את הסקריפט הזה לחשבון ה-Atera שלכם כקובץ .sh:
הערה חשובה: ודאו שאתם מגדירים את הסקריפט כקובץ .sh.
log_file="/Library/Application Support/com.atera.ateraagent/Agent/packages/AgentPackageSystemTools/SPLogs.txt"; if [ ! -d "$(dirname "$log_file")" ]; then log_file="/tmp/splashtop_diag.txt"; fi; write_log() { echo "$1" | tee -a "$log_file"; }; write_log "=== SPLASHTOP LINUX DIAGNOSTIC ==="; write_log ""; write_log "=== ENVIRONMENT CHECKS ==="; session_type=$(echo $XDG_SESSION_TYPE 2/dev/null); if [ -z "$session_type" ]; then session_type=$(loginctl show-session $(loginctl | grep $(whoami) | awk '{print $1}') -p Type 2/dev/null | cut -d= -f2); fi; if [ -z "$session_type" ]; then write_log "Session Type: UNABLE TO DETERMINE (script may be running as root/system)"; elif echo "$session_type" | grep -qi "wayland"; then write_log "Session Type: $session_type - WARNING: Wayland is NOT supported by Splashtop. Switch to X11."; else write_log "Session Type: $session_type - OK"; fi; if [ -f /etc/X11/default-display-manager ]; then dm=$(cat /etc/X11/default-display-manager); write_log "Display Manager: $dm"; if echo "$dm" | grep -qi "lightdm"; then write_log "Display Manager Check: OK (LightDM detected)"; else write_log "Display Manager Check: WARNING - Splashtop requires LightDM. Current: $dm"; fi; else write_log "Display Manager: UNABLE TO DETERMINE"; fi; if systemctl is-active --quiet splashtop-streamer 2/dev/null; then write_log "Splashtop Streamer Service: RUNNING"; else write_log "Splashtop Streamer Service: NOT RUNNING or NOT INSTALLED"; fi; write_log ""; check_connection() { local domain=$1; local url="https://$domain/api/fulong/v3/echo/check-relay"; write_log "Checking connection to $domain..."; local response=$(curl -s -w "%{http_code}" -o /tmp/curl_output.txt --max-time 10 "$url"); local http_code="${response: -3}"; local content=$(cat /tmp/curl_output.txt 2/dev/null); if [ "$http_code" = "200" ] && echo "$content" | grep -q '"result".*20200'; then write_log "$domain : $http_code - SUCCESS"; elif [ "$http_code" = "200" ]; then write_log "$domain : $http_code - UNEXPECTED RESULT"; else write_log "$domain : ERROR - HTTP $http_code"; fi; }; write_log "=== GLOBAL REGION SERVERS ==="; for domain in st-v3.api.splashtop.com st-v3-g3.api.splashtop.com st-v3-src.api.splashtop.com st-v3-src-g3.api.splashtop.com st-relay-v3.api.splashtop.com st-relay-v3-g3.api.splashtop.com st-premium-v3.api.splashtop.com st-premium-v3-g3.api.splashtop.com; do check_connection "$domain"; done; write_log ""; write_log "=== EU REGION SERVERS ==="; for domain in st-v3.api.splashtop.eu st-v3-g3.api.splashtop.eu st-v3-src.api.splashtop.eu st-v3-src-g3.api.splashtop.eu st-relay-v3.api.splashtop.eu st-relay-v3-g3.api.splashtop.eu st-premium-v3.api.splashtop.eu st-premium-v3-g3.api.splashtop.eu; do check_connection "$domain"; done; write_log ""; write_log "=== PORT 80 CHECK (Auto-updates) ==="; port80_code=$(curl -s -o /dev/null -w "%{http_code}" --max-time 10 "http://www.splashtop.com" 2/dev/null); if [ "$port80_code" != "000" ]; then write_log "Port 80 (HTTP): REACHABLE (HTTP $port80_code)"; else write_log "Port 80 (HTTP): BLOCKED - Splashtop Streamer auto-updates may fail"; fi; write_log ""; write_log "=== SSL/TLS INSPECTION CHECK ==="; ssl_issuer=$(echo | openssl s_client -connect st-v3.api.splashtop.com:443 2/dev/null | openssl x509 -noout -issuer 2/dev/null); if [ -z "$ssl_issuer" ]; then write_log "SSL Certificate Issuer: UNABLE TO CHECK - Could not establish TLS connection"; elif echo "$ssl_issuer" | grep -qiE "amazon|splashtop|starfield|digicert"; then write_log "SSL Certificate Issuer: LEGITIMATE ($ssl_issuer)"; else write_log "SSL Certificate Issuer: WARNING - Unexpected issuer: $ssl_issuer - Possible SSL/DPI inspection detected"; fi; cert_algo=$(echo | openssl s_client -connect st-v3.api.splashtop.com:443 2/dev/null | openssl x509 -noout -text 2/dev/null | grep "Public Key Algorithm" | head -1 | awk -F: '{print $2}' | xargs); if echo "$cert_algo" | grep -qi "rsa"; then write_log "Certificate Algorithm: RSA - Compatible with Splashtop"; elif [ -n "$cert_algo" ]; then write_log "Certificate Algorithm: $cert_algo - WARNING: Splashtop requires RSA."; else write_log "Certificate Algorithm: UNABLE TO DETERMINE"; fi; write_log ""; write_log "=== MAINTENANCE ==="; folder_to_delete="/Library/Application Support/com.atera.ateraagent/Agent/packages/AgentPackageSTRemote"; alt_folder="/opt/atera/packages/AgentPackageSTRemote"; if [ -d "$folder_to_delete" ]; then rm -rf "$folder_to_delete" && write_log "Deleted package: $folder_to_delete" || write_log "Failed to delete: $folder_to_delete"; elif [ -d "$alt_folder" ]; then rm -rf "$alt_folder" && write_log "Deleted package: $alt_folder" || write_log "Failed to delete: $alt_folder"; else write_log "No cached Splashtop package found to clean"; fi; if systemctl is-active --quiet splashtop-streamer 2/dev/null; then systemctl restart splashtop-streamer 2/dev/null && write_log "Restarted splashtop-streamer service" || write_log "Failed to restart splashtop-streamer service"; else write_log "splashtop-streamer service not found - skipping restart"; fi; write_log ""; write_log "=== SCRIPT COMPLETED ==="
הבנת פלט הסקריפט
פלט הסקריפט מחולק לפי סעיפים. עברו על כל סעיף כדי לאתר את שורש הבעיה.
בדיקות סביבה
Session Type — חייב להופיע x11. אם מופיע wayland, עברו למפגש X11. אם כתוב "UNABLE TO DETERMINE", הסקריפט רץ כ-root/מערכת ולא מצליח לזהות את סוג המפגש — בדקו ידנית עם echo $XDG_SESSION_TYPE בטרמינל מקומי.
Display Manager — חייב להופיע lightdm. אם מופיע GDM או מנהל תצוגה אחר, התקינו והגדירו את LightDM (ראו דרישות מקדימות למעלה).
שירות Splashtop Streamer — חייב להופיע RUNNING. אם מופיע NOT RUNNING, ייתכן שה-Streamer לא מותקן. ראו Splashtop עבור לינוקס להוראות התקנה.
קישוריות לשרת (אזורים גלובלי ו-EU)
אותו פורמט פלט כמו הסקריפטים של Mac ו-Windows:
-
✅
domain : 200 - SUCCESS— השרת נגיש. אין צורך בפעולה. -
⚠️
domain : 200 - UNEXPECTED RESULT— כנראה בדיקת SSL/DPI. הוסיפו את*.splashtop.comו-*.splashtop.euלרשימת החרגות של בדיקת ה-SSL שלכם. -
❌
domain : ERROR - HTTP [code]— השרת לא נגיש. אפשרו את הדומיין, ודאו שיציאות 443 ו-80 פתוחות, בדקו את הגדרות ה-DNS.
אם החשבון שלכם נמצא בסטאק הגלובלי, השרתים הגלובליים חייבים לעבור. אם בסטאק האירופאי (EU), השרתים האירופאיים חייבים לעבור.
פורט 80, בדיקת SSL/TLS ותחזוקה
החלקים האלו פועלים בדיוק כמו בגרסאות Mac ו-Windows. ראו את מדריך פתרון התקלות ל-Mac להסבר מפורט על תוצאות פורט 80, מנפיק תעודת SSL ואלגוריתם התעודה.
לאחר הרצת הסקריפט
אם כל הבדיקות עוברות (הסביבה תקינה, השרתים נגישים, אין בדיקת SSL), המתינו 2 דקות ונסו להתחבר שוב מהקונסולה של Atera.
אם הסקריפט זיהה בעיות, טפלו בהן לפי סדר העדיפויות הבא:
- זוהה Wayland? → עברו למפגש X11. זו הסיבה הנפוצה ביותר לכך שכפתור "התחבר" אפור.
- מנהל תצוגה שגוי? → התקינו והגדירו את LightDM.
- ה-Streamer לא פועל? → ודאו ש-Splashtop Streamer מותקן. עקבו אחרי הוראות ההתקנה ב-Splashtop עבור לינוקס.
- זוהתה בדיקת SSL? → הוסיפו את דומייני Splashtop לרשימת ההחרגות שלכם.
- שגיאות קישוריות לשרת? → אפשרו את הדומיינים ופתחו יציאות יוצאות.
כפתור "התחבר" אפור
אם כפתור ההתחברות אפור עבור מכשיר לינוקס בקונסולה של Atera, המכשיר מזוהה כנטול מסך (ללא ממשק גרפי). זה קורה כאשר:
- המכשיר משתמש ב-Wayland במקום X11. בדקו עם
echo $XDG_SESSION_TYPEועברו ל-X11 במידת הצורך. - אין מסך פיזי או תצוגה וירטואלית מחוברת. עבור מכונות וירטואליות, הגדירו תצוגה וירטואלית כפי שמוסבר בהוראות ההתקנה של Splashtop עבור לינוקס.
- סביבת שולחן העבודה לא מותקנת או לא פועלת. התקינו GNOME או סביבת שולחן עבודה אחרת התומכת ב-X11.
Splashtop לא מתחבר — ניקוי והתקנה מחדש
אם Splashtop Streamer מותקן, השירות פועל, בדיקות הסביבה עוברות והשרתים נגישים — אך החיבור עדיין נכשל — בצעו ניקוי:
שלב 1: עצירת והסרת Splashtop Streamer
sudo systemctl stop splashtop-streamer 2/dev/null; sudo pkill -9 -f "Splashtop" 2/dev/null; sudo pkill -9 -f "SRStreamerDaemon" 2/dev/null
שלב 2: ניקוי חבילות סוכן Splashtop מהמטמון
sudo rm -rf /Library/Application\ Support/com.atera.ateraagent/Agent/packages/AgentPackageSTRemote 2/dev/null; sudo rm -rf /opt/atera/packages/AgentPackageSTRemote 2/dev/null
שלב 3: התקנה מחדש של Splashtop Streamer
ניתן להתקין מחדש באחת מהדרכים:
- התחלת סשן מרחוק מהקונסולה של Atera — זה יפעיל התקנה אוטומטית של ה-Streamer.
- או התקנה ידנית של ה-Streamer. ראו Splashtop Streamer והתקנת Splashtop ל-RMM.
שלב 4: ודאו שה-Streamer פועל
sudo systemctl status splashtop-streamer
הערה: אם הניקוי וההתקנה מחדש לא פתרו את הבעיה, פנו לצוות התמיכה שלנו. ייתכן שהבעיה דורשת בדיקה של צוות ההנדסה שלנו.