OpenJDK-8 / Oracle JDK 8 Font patches สำหรับ Ubuntu


8

มีรุ่นที่ได้รับการติดตั้งแล้วของ OpenJDK-8 หรือ Oracle JDK 8 สำหรับ Ubuntu 14.10 ซึ่งแก้ไขแบบอักษรที่น่าเกลียดในแอปพลิเคชัน Java (ผลิตภัณฑ์ Jetbrains, Netbeans ฯลฯ ) หรือไม่?

ผมได้ติดตั้งก่อนหน้ารุ่น patched ของ OpenJDK7 สำหรับ Ubuntu 14.04 ในนี้บทความ แต่ก็ดูเหมือนจะไม่สามารถใช้ได้สำหรับ 14.10 ฉันยังไม่พบรุ่นที่ได้รับการติดตั้งสำหรับ OpenJDK8 / OracleJDK8

หากมีรุ่นที่ได้รับการติดตั้งแล้วหรือเป็น patch สำหรับ OpenJDK8 / OracleJDK8 ที่ฉันสามารถติดตั้งได้ฉันจะขอบคุณจริงๆถ้ามีใครสามารถชี้ให้เห็นได้

ขอบคุณ.


IntelliJ เวอร์ชั่นใหม่นำ JVM มาเอง ส่วนใหญ่มีแนวโน้มที่จะสามารถจัดการกับสิ่งนี้
Thorbjørn Ravn Andersen

คำตอบ:


9

หลังจากได้อ่านบทช่วยสอนต่าง ๆ และแก้ไขปัญหาต่าง ๆ ฉันพบวิธีการทำงานที่สมบูรณ์แบบ

ก่อนอื่นดาวน์โหลดJDK 8 จาก Oracleและรันบรรทัดต่อไปนี้ในเทอร์มินัล:

cd Downloads
tar -xvf jdk-8u25-linux-x64.tar.gz
rm jdk-8u25-linux-x64.tar.gz
sudo mkdir -p /usr/lib/jvm/
sudo mv jdk1.8.0_25 /usr/lib/jvm/

ตอนนี้ดาวน์โหลดฟอนต์ JDK (ความอนุเคราะห์ของUrshulyak Yaroslav ) โดยการดำเนินการดังต่อไปนี้:

cd ~/Downloads
wget http://urshulyak.com/jdk-8u5-tuxjdk-b08.tar.gz
tar -xvf jdk-8u5-tuxjdk-b08.tar.gz
sudo mv jdk-8u5-tuxjdk-b08 /usr/lib/jvm
rm jdk-8u5-tuxjdk-b08.tar.gz

สิ่งนี้จะแตกไฟล์ zip ที่ดาวน์โหลดมาและย้ายไปที่ / usr / lib / jvm / ตอนนี้รันสิ่งต่อไปนี้ในเทอร์มินัล:

cd ~
sudo gedit .bashrc

จากนั้นเพิ่มบรรทัดต่อไปนี้ที่ด้านล่างสุดของไฟล์ bashrc

JAVA_HOME=/usr/lib/jvm/jdk1.8.0_25/
export JAVA_HOME

บันทึกจากนั้นจึงรวบรวมความคิด (ตำแหน่งสคริปต์ของคุณอาจแตกต่างกัน)

gedit /home/USER/Downloads/idea/bin/idea.sh

ที่ด้านล่างสุดของสคริปต์ให้แทนที่บรรทัดในคำสั่ง while Do ที่ด้านล่างด้วยสองบรรทัดนี้:

eval "/usr/lib/jvm/jdk-8u5-tuxjdk-b08/bin/java" $ALL_JVM_ARGS -Djb.restart.code=88 $MAIN_CLASS_NAME "$@"
test $? -ne 88 && break

บันทึกจากนั้นเปิด IntelliJ แบบอักษรควรทำงานและคุณจะใช้ Oracle JDK 8 เพื่อการพัฒนา คุณอาจจะต้องแก้ไขการตั้งค่าโครงการและตั้งค่า JDK ของคุณอีกครั้ง แต่ต้องแน่ใจว่าใช้ JDK จริงไม่ใช่ตัวแก้ไขฟอนต์

การแก้ไขนี้ยังทำงานร่วมกับCLion , Android สตูดิโอและPyCharm

คำแนะนำเหล่านี้ถือว่ารุ่น JDK คือ 1.8.0_25 ชื่อไฟล์ / พา ธ จะเปลี่ยนไปสำหรับเวอร์ชั่นในอนาคต


ขอบคุณสำหรับคำตอบโดยละเอียด ฉันลองวิธีการแก้ปัญหาของคุณ แต่แบบอักษรของฉันใหญ่ขึ้นและโดดเด่นยิ่งขึ้น ฉันลดขนาดตัวอักษรได้ แต่ไม่สามารถเปลี่ยนแบบอักษรตัวหนาเป็นแบบปกติได้
Deepal

ใช่ขนาดเพิ่มขึ้นเป็น 14 (ฉันเปลี่ยนของฉันเป็น 11) แต่แบบอักษรของฉันไม่ใช่ตัวหนาใช่ไหม ฉันคิดว่าคุณลองใช้ฟอนต์อื่น ๆ เพื่อดูว่าพวกมันยังเป็นตัวหนาหรือไม่?

Yup. ไม่ใช่แบบอักษรทั้งหมดเป็นตัวหนาตัวอักษรที่ฉันใช้ในปัจจุบันกลายเป็นตัวหนา ฉันคิดว่าฉันอาจต้องใช้ชีวิตกับสิ่งนั้น มีวิธีใดที่โซลูชันนี้สามารถนำไปใช้กับแอ็พพลิเคชัน java ทั้งหมดนอกเหนือจากการแก้ไขไฟล์ที่เรียกทำงานได้? ฉันหมายถึงไฟล์ jar เช่นกัน? ฉันไม่สามารถใช้ jdk ที่แพทช์นี้เป็นค่าเริ่มต้นของฉัน jdk ได้หรือไม่มันเป็น jdk ที่สมบูรณ์หรือไม่
Deepal

1
ขออภัยฉันไม่สามารถช่วยเหลือแบบอักษรตัวหนา คุณอาจลองดาวน์โหลดตัวอักษรอีกชุดหนึ่งลองดูถ้ามันรบกวนคุณมากขนาดนั้น คุณสามารถลอง messing รอบกับแก้ไขตัวอักษรฉันมีปัญหาบางอย่างใช้เป็น JDK ของฉันคุณสามารถลองดาวน์โหลด openJDK เต็มรูปแบบและการรวมสองที่สามารถใช้งานได้

3
@Deepal ตรวจสอบให้แน่ใจว่าคุณกำลังตั้งค่าexport _JAVA_OPTIONS="-Dawt.useSystemAAFontSettings=lcd -Dsun.java2d.xrender=true"ใน bashrc ของคุณด้วย
ซาเลม

1

ในการทำให้ DanielSteward anwser เสร็จสมบูรณ์:

น่าเสียดายที่tuxjdkรูปลักษณ์และความรู้สึกของ GTK ใช้ชุดตัวอักษรใน gtkrc ที่ใช้อยู่ในปัจจุบัน แต่ธีมส่วนใหญ่ไม่ได้ตั้งค่าแบบอักษรใด ๆ เป็นผลให้ชาวเน็ตจะใช้ตัวหนา Arial 15 เป็นแบบอักษร UI

เพื่อแก้ไขที่สร้าง gtkrc เพียงสำหรับ netbeans ที่มีฟอนต์คงที่และบอก netbeans ให้ใช้ไฟล์นี้

ฉันได้เตรียมตัวเรียกใช้งานพิเศษที่ทำงานแบบกึ่งอัตโนมัติ:

#! / bin / ทุบตี

### ตัวแปรที่ปรับแต่งได้: ###

# เส้นทางที่ติดตั้ง netbeans
NETBEANS_PATH = $ {NETBEANS_PATH: - ~ / opt / NetBeans-dev-2015/06/04} / bin / NetBeans
# ชื่อสภาพแวดล้อมเดสก์ทอปที่จะใช้สไตล์จาก
USED_DE = $ {USED_DE: -mate}
# Tuxjdk ดูเหมือนจะแสดงผลแบบอักษร UI ที่ใหญ่เกินไปดังนั้นให้ใช้ค่านี้เพื่อลด
FONT_SUBTRAHENT = $ {FONT_SUBTRAHENT: -3}

###############################

ฟังก์ชั่น remQuotes () {
  echo "$ {@ // \ '/}"
}

ฟังก์ชั่น reductionFontSize () {
  subtrahend ท้องถิ่น = $ 1; เปลี่ยน
  local args = "$ @"
  echo $ {args // [0-9] /} $ (($ {args // [! 0-9] /} - $ subtrahend))
}

theme = $ (remQuotes `gsettings รับ org $ {USED_DE} .interface gtk-theme`)
font = $ (remQuotes `gsettings get org $ {USED_DE} .interface font-name`)
แบบอักษร = $ (ลดขนาดแบบอักษร $ FONT_SUBTRAHENT $ แบบอักษร)

themeDirs = $ (ค้นหา ~ / .themes / / usr / share / themes / -type d -name "$ {theme}")
gtkRcPath = ""
สำหรับ dir ใน "$ themeDirs"; ทำ
  ถ้า [[-f "$ dir / gtk-2.0 / gtkrc"]]; แล้วก็
    gtkRcPath = "$ dir / GTK-2.0 / gtkrc"
    หยุดพัก;
  Fi
เสร็จแล้ว

ถ้า [["$ gtkRcPath" == ""]]; แล้วก็
  echo "ไม่พบชุดรูปแบบ"> / dev / stderr
  ./$NETBEANS_PATH $ @
Fi

cat $ HOME / .netbeans / .gtkrc-2.0
รวม "$ gtkRcPath"

สไตล์ "user-font" {
    font_name = "$ font"
}

widget_class "*" style "user-font"

GTK-อักษร-name = "$ ตัวอักษร"

EOF

GTK2_RC_FILES = ~ / .netbeans / .gtkrc-2.0 $ NETBEANS_PATH $ @

สิ่งนี้จะอ่านการตั้งค่าชุดรูปแบบของคุณและสร้างชุดรูปแบบปลอมเฉพาะสำหรับ Netbeans คุณต้องปรับNETBEANS_PATHและUSED_DEแปรสภาพแวดล้อมของคุณ


0

ฉันได้สร้าง Openjdk 8u40 ด้วยตัวเองและนำไปใช้กับ tuxjdk patches นอกจากนี้ฉันได้เพื่อสร้างไฟล์ชื่อlocal.confใน/etc/fonts/การ FontMap แทนที่ของ Java สำหรับแบบอักษรเชิงตรรกะของมันชอบDialog, Monospacedฯลฯ หลังจากนั้นแกว่งการใช้งานตามดีขึ้นมาก ลองดูที่นี่


0

ในขณะนี้มีแพ็คเกจ rpm เฉพาะสำหรับ tuxjdk: http://download.opensuse.org/repositories/home:/TheIndifferent:/tuxjdk/

ฉันต้องการเวลาเพิ่มอีกเล็กน้อยเพื่อเรียนรู้เกี่ยวกับบรรจุภัณฑ์เดเบียนและเตรียมแพ็คเกจที่เหมาะสมรวมทั้งบันทึกคุณสมบัติที่น่าสนใจของรุ่น 03 ของ tuxjdk ดังนั้นโปรดติดตามและรายงานปัญหาใด ๆ ที่คุณกำลังเผชิญกับ tuxjdk ไปที่https://github.com/TheIndifferent/tuxjdkดังนั้นฉันจะสามารถทำซ้ำและ (หวังว่า) จะแก้ไขได้


0

จริงๆแล้วคุณไม่จำเป็นต้องกังวลกับการปรับเปลี่ยนidea.shซึ่งมีความผันผวนในการอัปเดต มีไฟล์การกำหนดค่าเฉพาะผู้ใช้~/.IntelliJIdea2016.1/config/idea.jdk(การเปลี่ยนชื่อจะเปลี่ยนไปตามลำดับ) ซึ่งจะเก็บบูท JDK

การอ้างอิงอย่างเป็นทางการ:

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.